You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// u 开始点 p 父节点
pair<int, int> dfs(int u, int p = -1) {
// z first 长度 z second 最深点// first += 1 second 为 u
pair<int, int> z = {0, u};
// for edge u 的 边for(auto v: edge[u]) {
// 如果是父级点 跳过if (v == p) continue;
z = max(z, dfs(v, u));
}
// 边+1
z.first += 1;
return z;
}
查看所有代码
#include<iostream>
#include<vector>usingnamespacestd;constint N = 1e6;
vector<int> edge[N];
// u 开始点 p 父节点
pair<int, int> dfs(int u, int p = -1) {
// z first 长度 z second 最深点// first += 1 second 为 u
pair<int, int> z = {0, u};
// for edge u 的 边for(auto v: edge[u]) {
// 如果是父级点 跳过if (v == p) continue;
z = max(z, dfs(v, u));
}
// 边+1
z.first += 1;
return z;
}
intmain() {
int n;
// 输入
cin >> n;
// 输入端点循环下面的边for(int i = 0; i < n - 1; i++) {
int v, u;
cin >> v >> u;
edge[v].push_back(u);
edge[u].push_back(v);
}
// 得到最深的端点
pair<int, int> z = dfs(1);
// 从最深的端点搜索
z = dfs(z.second);
// 边-1
cout << z.first-1 << endl;
}
希望看到的大佬可以多多指点迷津!!! 右边有我的联系方式💗💗
The text was updated successfully, but these errors were encountered:
2019-08-19 12:32:52
资料
题目: https://www.spoj.com/problems/PT07Z/
https://zh.wikipedia.org/wiki/%E6%A0%91_(%E5%9B%BE%E8%AE%BA)
谢谢岛老师的教学
岛娘blog
岛娘Github
岛娘Youtube
code source
Go
下面根据上面资料的wiki图来生成的点和边 看不见可能需要科学上网
点: 1 2 3 4 5 6
边: 14 24 34 45 56
设置顶点
使用 Map https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map
设置顶点和边
得到的集合
dfs
vertex 结构目前是这样点 ⬆️️️️️️️️️️ ⬆️️️️️️️️️️ ⬆️️️️️️️️️️
这个方法主要通过存放一个map保存访问状态
参考地址 https://www.geeksforgeeks.org/implementation-graph-javascript/
dfs
下面这个是岛老师👨🏫教我方法
主要通过存父节点来判断
查看所有代码
--- 分割线 ---
很遗憾上面的是有问题的
岛老师的作业批改
数据没有从 IO 读入读出。
第一个 dfs 求出的不是最远的端点。
正确的解法应该是先求最深的一个端点,然后用从这个端点再搜索一次.
在codeforces js输入输出
http://codeforces.com/blog/entry/10594
http://codeforces.com/blog/entry/64707
查看所有代码
希望看到的大佬可以多多指点迷津!!! 右边有我的联系方式💗💗
The text was updated successfully, but these errors were encountered: