http://www.lydsy.com/JudgeOnline/problem.php?id=2435

题意:中文题意。

思路:很简单的树形DP,sz记录儿子有多少个和cur记录走的哪条弧,然后直接算就可以了。(时间有点紧)。

 #include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 1000010
struct Edge {
int v, w, nxt;
} edge[N*];
int head[N], tot, cur[N]; long long sz[N]; void Add(int u, int v, int w) {
edge[tot] = (Edge) {v, w, head[u]}; head[u] = tot++;
edge[tot] = (Edge) {u, w, head[v]}; head[v] = tot++;
} void DFS(int u, int fa) {
sz[u] = ;
for(int i = head[u]; ~i; i = edge[i].nxt) {
int v = edge[i].v;
if(v == fa) continue;
cur[v] = i;
DFS(v, u);
sz[u] += sz[v];
}
} int main() {
int n;
while(~scanf("%d", &n)) {
tot = ;
memset(head, -, sizeof(head));
memset(sz, , sizeof(sz));
for(int i = ; i < n; i++) {
int u, v, w;
scanf("%d%d%d", &u, &v, &w);
Add(u, v, w);
}
DFS(, -);
long long ans = ;
for(int i = ; i <= n; i++) {
ans += (long long)edge[cur[i]].w * abs(n - sz[i] - sz[i]);
}
printf("%lld\n", ans);
}
return ;
}

最新文章

  1. JS 点击弹出图片/ 仿QQ商城点击左右滚动幻灯片/ 相册模块,点击弹出图片,并左右滚动幻灯片
  2. Vue-router中文教程-Vue-router参考手册.CHM
  3. java用字符写字符
  4. 树链剖分I 原理
  5. tableview_nav 动画效果
  6. SpringMVC4.0.3 @ResponseBody JSON 中文乱码问题
  7. .net中判断距离高考多长时间的js函数
  8. hadoop错误Cannot load libcrypto.so (libcrypto.so cannot open shared object file No such file or directory)
  9. Cocos3.0测试版发布(中文)
  10. [Jobdu] 题目1361:翻转单词顺序
  11. BZOJ 4145: [AMPPZ2014]The Prices( 状压dp + 01背包 )
  12. mysql 修改数据库data存放位置
  13. ABP入门系列(6)——定义导航菜单
  14. 类似Jquery ui 标签页(Tabs)
  15. C# 因缺少CategoryName,而未能初始化 的解决办法
  16. C# 文件下载工具类FileDownHelper
  17. git clone git@github.com:snuglove/ 报错
  18. 微信小程序分包跳转主包页面
  19. cobbler实现系统自动化安装centos
  20. 基于fpga的vga学习(2)

热门文章

  1. 资源文件加载(Pack URI 方案)
  2. js 操作样式
  3. MVC 创建强类型视图
  4. 【WPF】SnapsToDevicePixels与UseLayoutRounding二者到底有什么区别?供参考
  5. PHP提取字符串中的图片地址
  6. KEIL MDK编译后的代码量和RAM使用详解
  7. 原 BinaryWriter和BinaryReader(二进制文件的读写)
  8. Win8 Metro(C#)数字图像处理--2.65形态学轮廓提取算法
  9. 毕设(一)C#的百度api调用
  10. Android应用开机自启动问题