傳送門
這道題目有點水啊,只要深搜到葉子節點,然後回溯,找出乙個點到它的兒子節點的最大距離,ans
+=
ans+=
ans+
=最大距離−
-−到每個兒子節點距離,最後記得把它父親節點到它的距離加上之前所求的最大距離。
#include#define il inline
#define ll long long
#define max(a,b) ((a)>(b))?(a):(b)
using namespace std;
const int n=5e5+5;
#define getchar()(p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?eof:*p1++)
char buf[1<<21],*p1=buf,*p2=buf;
il int read()
int n,s,k=1,h[n];ll ans;
struct edgea[n<<1];
il void add(int x,int y,int z)
il void dfs(int x,int fa)
int main()dfs(s,0);
return !printf("%lld",ans);
}
ZJOI2007 時態同步
題目描述 小q在電子工藝實習課上學習焊接電路板。一塊電路板由若干個元件組成,我們不妨稱之為節點,並將其用數字1,2,3 進行標號。電路板的各個節點由若干不相交的導線相連線,且對於電路板的任何兩個節點,都存在且僅存在一條通路 通路指連線兩個元件的導線序列 在電路板上存在乙個特殊的元件稱為 激發器 當激...
ZJOI2007 時態同步
小q在電子工藝實習課上學習焊接電路板。一塊電路板由若干個元件組成,我們不妨稱之為節點,並將其用數字1,2,3 1,2 3 進行標號。電路板的各個節點由若干不相交的導線相連線,且對於電路板的任何兩個節點,都存在且僅存在一條通路 通路指連線兩個元件的導線序列 在電路板上存在乙個特殊的元件稱為 激發器 當...
ZJOI2007 時態同步
從根節點 激發器 開始搜 一直搜到葉子節點 然後回溯 回溯的過程中如果遇到有幾個葉子節點到這乙個節點 就用道具把不足的補足 同時記錄有多少個到達這個點的葉子結點 因為以後要更新的話要把以前到這個點的路徑不足的都要補足 include include include include define ma...