codeforces 树上dfs
2017-06-27 18:15
351 查看
codeforces813C 树上dfs。
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 7;
typedef pair<int,int> P;
int n,dis1
,disx
;
vector<int>g
;
void dfs(int s,int *dis,int step,int father)
{
for(int i = 0;i < g[s].size();i ++) {
int son = g[s][i];
if(son == father) continue;
dis[son] = step;
dfs(son,dis,step+1,s);
}
}
int main()
{
int n,a,b,x;
std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
cin >> n >> x;
for(int i = 0;i < n - 1;i ++) {
cin >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
dis1[1] = disx[x] = 0;
dfs(1,dis1,1,-1);
dfs(x,disx,1,-1);
int ans = 2;
for(int i = 1;i <= n;i ++) {
if(dis1[i] > disx[i]) {
ans = max(ans , dis1[i] * 2);
}
}
cout << ans << endl;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 7;
typedef pair<int,int> P;
int n,dis1
,disx
;
vector<int>g
;
void dfs(int s,int *dis,int step,int father)
{
for(int i = 0;i < g[s].size();i ++) {
int son = g[s][i];
if(son == father) continue;
dis[son] = step;
dfs(son,dis,step+1,s);
}
}
int main()
{
int n,a,b,x;
std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
cin >> n >> x;
for(int i = 0;i < n - 1;i ++) {
cin >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
dis1[1] = disx[x] = 0;
dfs(1,dis1,1,-1);
dfs(x,disx,1,-1);
int ans = 2;
for(int i = 1;i <= n;i ++) {
if(dis1[i] > disx[i]) {
ans = max(ans , dis1[i] * 2);
}
}
cout << ans << endl;
return 0;
}
相关文章推荐
- Codeforces 842C - Ilya And The Tree 【树上DFS】
- Codeforces 842C - Ilya And The Tree 【树上DFS】
- CodeForces - 842C Ilya And The Tree 树上DFS
- CodeForces 681D Gifts by the List (树上DFS)
- CodeForces 682C Alyona and the Tree (树上DFS)
- Codeforces 919D 拓扑排序判环 + 树上 dfs + dp
- CodeForces 24A Ring road(dfs)
- codeforces 366D 求1-n点最大区间长度 枚举区间左端+二分区间右端dfs判可行
- CodeForces - 842C Ilya And The Tree(树上倍增)
- Codeforces 34C Page Numbers(简单图论+DFS)
- [SDOI2015][BZOJ3991] 寻宝游戏|set|dfs序|虚树|树上倍增LCA
- 【Codeforces 723D】Lakes in Berland (dfs)
- CodeForces 690C2 Brain Network (medium)(树上DP)
- 洛谷 2680[NOIP2015] 运输计划 二分+lca+树上差分+dfs序
- Codeforces 570D Tree Requests(DFS重标号+树状数组)
- CodeForces 598D-Igor In the Museum【DFS】
- codeforces 780-C. Andryusha and Colored Balloons(dfs)
- HDU 5723 Abandoned country (并查集 + DFS+求解树上任意两点间的距离的平均值)
- codeforces717E Paint it really, really dark gray(树上dfs)
- CodeForces - 510B Fox And Two Dots(DFS)