成都网站优化教程,wordpress怎么引用图片,营销型网站建设网站手机,首页排名seo正题
题目链接:https://www.luogu.org/problem/P2052 题目大意
一棵树#xff0c;一条边的价值是长度乘上两端点的数量差。求所有边的边权之和。 解题思路
统计子树大小就可以知道两端的数量差了。 codecodecode
#includecstdio
#includecstring
#include…正题
题目链接:https://www.luogu.org/problem/P2052 题目大意
一棵树一条边的价值是长度乘上两端点的数量差。求所有边的边权之和。 解题思路
统计子树大小就可以知道两端的数量差了。 codecodecode
#includecstdio
#includecstring
#includealgorithm
#define ll long long
using namespace std;
const ll N1e610;
struct node{ll to,next,w;
}a[2*N];
ll n,ans,tot1,ls[N],siz[N],dep[N];
void addl(ll x,ll y,ll w)
{a[tot].toy;a[tot].nextls[x];a[tot].ww;ls[x]tot;
}
void dfs(ll x,ll fa)
{siz[x]1;dep[x]dep[fa]1;for(ll ils[x];i;ia[i].next){ll ya[i].to;if(yfa) continue; dfs(y,x);siz[x]siz[y];}
}
int main()
{scanf(%lld,n);for(ll i1;in;i){ll x,y,w;scanf(%lld%lld%lld,x,y,w);addl(x,y,w);addl(y,x,w);}dfs(1,1);for(ll i2;itot;i2){ll x;if(dep[a[i].to]dep[a[i^1].to]) xa[i].to;else xa[i^1].to;ansabs(n-2*siz[x])*a[i].w;}printf(%lld,ans);
}