1 条题解
-
1
#include<bits/stdc++.h> using namespace std; #define int long long int n,ans; struct node{ int v,w; }; vector<node> g[1000009]; int sz[1000009]; void dfs(int u,int fa){ sz[u] = 1; for(auto [v,w]:g[u]){ if(v == fa) continue; dfs(v,u); sz[u]+=sz[v]; ans+=abs(sz[v]-(n-sz[v]))*w; } } signed main(){ cin>>n; for(int i = 1;i<n;++i){ int u,v,w; cin>>u>>v>>w; g[u].push_back({v,w}); g[v].push_back({u,w}); } dfs(1,0); cout<<ans; }
- 1
信息
- ID
- 118
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 5
- 已通过
- 2
- 上传者