題目鏈結
桃花一簇開無主,可愛深紅映淺紅。——《題百葉桃花》
桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上任意一條鏈上的所有桃花,由於htbest法力有限,只能使用一次魔法棒,請求出htbest最多可以摘到多少個桃花。
第一行有乙個正整數n,表示桃樹的節點個數。
接下來n-1行,第i行兩個正整數ai,bi ,表示桃樹上的節點ai,bi之間有一條邊。
輸出描述:
第一行乙個整數,表示htbest使用一次魔法棒最多可以摘到多少桃花。
3
1 22 3
3
3
1 21 3
3
4
1 22 3
3 4
4
找樹上最長鏈跑兩遍 dfs 即可,我記得 pat 做過類似的,首先任選一點 dfs,找到離它最遠的那個點,然後再從那個點 dfs,即可得到最長鏈,ac**如下:
#include
using
namespace std;
typedef
long
long ll;
const
int n=
1e6+5;
vector<
int>g[n]
;int num[n]
,vis[n]
,n,u,v,s,pos,mx=0;
void
dfs(
int u)
dfs(v)
; vis[v]=0
;}}}
intmain()
dfs(1)
;memset
(vis,0,
sizeof
(vis));
memset
(num,0,
sizeof
(num));
mx=0,s=pos,num[s]=1
;dfs
(s);
printf
("%d"
,mx)
;}
牛客小白月賽6 c 桃花
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 桃花一簇開無主,可愛深紅映淺紅。題百葉桃花 桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上任意一條...
牛客小白月賽6 C桃花 樹直徑
樹的直徑是指樹的最長簡單路。求法 兩遍bfs 先任選乙個起點bfs找到最長路的終點,再從終點進行bfs,則第二次bfs找到的最長路即為樹的直徑 桃花一簇開無主,可愛深紅映淺紅。題百葉桃花 桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上...
牛客小白月賽6 桃花
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 桃花一簇開無主,可愛深紅映淺紅。題百葉桃花 桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上任意一條...