dp求size和deep,然后对每条边模拟求代价即可

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=1000005;
int n,h[N],cnt,si[N],de[N];
long long ans;
struct qwe
{
int ne,no,to,va;
}e[N<<1];
int read()
{
int r=0,f=1;
char p=getchar();
while(p>'9'||p<'0')
{
if(p=='-')
f=-1;
p=getchar();
}
while(p>='0'&&p<='9')
{
r=r*10+p-48;
p=getchar();
}
return r*f;
}
void add(int u,int v,int w)
{
cnt++;
e[cnt].ne=h[u];
e[cnt].no=u;
e[cnt].to=v;
e[cnt].va=w;
h[u]=cnt;
}
void dfs(int u,int fa)
{
si[u]=1,de[u]=de[fa]+1;
for(int i=h[u];i;i=e[i].ne)
if(e[i].to!=fa)
{
dfs(e[i].to,u);
si[u]+=si[e[i].to];
}
}
int main()
{
n=read();
for(int i=1;i<n;i++)
{
int x=read(),y=read(),z=read();
add(x,y,z),add(y,x,z);
}
dfs(1,0);
for(int i=1;i<=cnt;i+=2)
{
int x=de[e[i].no]>de[e[i].to]?e[i].no:e[i].to;
ans+=1ll*abs(n-2*si[x])*e[i].va;
}
printf("%lld\n",ans);
return 0;
}

最新文章

  1. 【Java每日一题】20161228
  2. 第 21 章 CSS3 文本效果
  3. 第六章、Struts2数据校验
  4. 关于jstl标签引入的问题
  5. (转)VS2008连接TFS 2010
  6. 多语言的sitemap xml
  7. Android知识思维导图
  8. 用户名 不在 sudoers文件中,此事将被报告
  9. D3.js:坐标轴
  10. javascript 简单工厂
  11. PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
  12. 解决 golang unrecognized import path &quot;golang.org/x&quot; 之类错误的一种尝试
  13. php 按月创建日志
  14. 【计算机篇】Office 2016 for Mac 安装和破解教程
  15. oracle收集ash和awr性能报告方法
  16. 深入了解浏览器存储:对比Cookie、LocalStorage、sessionStorage与IndexedDB
  17. 怎么精确控制solidworks里面的表格的位置
  18. Java的家庭记账本程序(F)
  19. RabbitMQ消息可靠性分析和应用
  20. P4426 [HNOI/AHOI2018]毒瘤

热门文章

  1. 集成CCFlow工作流与GPM的办公系统驰骋CCOA介绍(三)
  2. 【源代码】LruCache源代码剖析
  3. Python - scrapy安装中libxml2问题
  4. linux输入子系统(6)-input子系统介绍及结构图
  5. (转载)常用的Mysql数据库操作语句大全
  6. Spark简单集群搭建
  7. URL 下载
  8. extjs4.0 treepanel节点的选中、展开! 数据的重新加载
  9. HDFS运维和优化
  10. 搭建java运行环境