正题

题目链接:https://www.luogu.org/problem/P2052


题目大意

一棵树,一条边的价值是长度乘上两端点的数量差。求所有边的边权之和。


解题思路

统计子树大小就可以知道两端的数量差了。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=1e6+10;
struct node{ll to,next,w;
}a[2*N];
ll n,ans,tot=1,ls[N],siz[N],dep[N];
void addl(ll x,ll y,ll w)
{a[++tot].to=y;a[tot].next=ls[x];a[tot].w=w;ls[x]=tot;
}
void dfs(ll x,ll fa)
{siz[x]=1;dep[x]=dep[fa]+1;for(ll i=ls[x];i;i=a[i].next){ll y=a[i].to;if(y==fa) continue; dfs(y,x);siz[x]+=siz[y];}
}
int main()
{scanf("%lld",&n);for(ll i=1;i<n;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 i=2;i<=tot;i+=2){ll x;if(dep[a[i].to]>dep[a[i^1].to]) x=a[i].to;else x=a[i^1].to;ans+=abs(n-2*siz[x])*a[i].w;}printf("%lld",ans);
}

P2052-[NOI2011]道路修建【树】相关推荐

  1. 2435: [Noi2011]道路修建

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 2188  Solved: 639 [Submit][Stat ...

  2. 【bzoj 2435】[Noi2011]道路修建(dfs)

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3505  Solved: 1167 [Submit][Sta ...

  3. bzoj 2435: [Noi2011]道路修建 树上 dp

    2435: [Noi2011]道路修建 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pr ...

  4. bzoj 2435: [Noi2011]道路修建(DFS)

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 4110  Solved: 1429 [Submit][Sta ...

  5. NOI2011 道路修建

    题目连接:http://221.192.240.123:8586/JudgeOnline/showproblem?problem_id=1670 题意自便. 相关知识:树的遍历,非递归DFS写法. 分 ...

  6. bzoj 2435: [Noi2011]道路修建【树形dp】

    dp求size和deep,然后对每条边模拟求代价即可 #include<iostream> #include<cstdio> #include<algorithm> ...

  7. BZOJ2435 [Noi2011]道路修建

    这是NOI11年题,你在逗我? 直接dfs就可以了,Linux下貌似不会爆栈... 1 /******************************************************* ...

  8. bzoj2435: [Noi2011]道路修建 树上dp

    点击打开链接 RE了一辈子... 思路:树上dp,直接dfs找到每个点v的子节点有多少, 那么对答案的贡献是 w*abs((n-size[v])-size[v]); RE代码: 1 #include ...

  9. 【BZOJ-2435】道路修建 (树形DP?)DFS

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3115  Solved: 1002 [Submit][Sta ...

  10. P4878 道路修建-美国

    http://www.tyvj.cn/p/4878道路修建 我想我经大神点拨后终于明白了...回学校再写吧 时间限制:1s 内存限制:256MB [问题描述] A国是一个商业高度发达的国家.它包含了n ...

最新文章

  1. 为计算机编程序英语作文,计算机编程员英文简历范文
  2. 有源晶振和无源晶振的区别
  3. WinCE驱动编写小结
  4. 【☢️伤害性不高,侮辱性极强!☢️】Win10更新21H1后关闭右下角天气和新闻
  5. zip: stdin: unexpected end of file tar: 归档文件中异常的 EOF tar: 归档文件中异常的 EOF tar: Error is not recoverable
  6. suse linux vnc配置文件,怎么在linux suse中配置VNC服务器
  7. c获取当前程序的路径_漏洞挖掘|使用AFL Fuzzing网络程序
  8. (转)AppDomain 和动态加载
  9. 安装完wps去除右键新建中的wps等文档
  10. python 导入本地模块包失败的解决方案
  11. css图片插入文字,利用css布局在图片插入文字
  12. Win7 获取管理员权限
  13. html字数不同相同宽度的按钮,HTML_按钮在IE中两边被拉伸的 BUG,大家在写按钮(input、button) - phpStudy...
  14. 错误信息:cannot call member function ‘ ‘ without object 处理
  15. 牛客小白月赛6 C.桃花
  16. 友情链接查询工具 php源码,php 友情链接批量查询工具下载_PHP教程
  17. 联发科p60和骁龙710哪个好_一文读懂骁龙710/骁龙660/骁龙845/Helio P60的区别,联发科有苦说不出?-控制器/处理器-与非网...
  18. pyyaml 3.11版本的安装
  19. 匿名数传使用方法分享
  20. 【题解】信使(msner)

热门文章

  1. python实例编程_python 编程实例 5
  2. 超详细图解!【MySQL进阶篇】MySQL事务和锁
  3. centos 6 x64 mysql_CentOS 6.x版本升级Mysql
  4. vscode 快速调到定义处_vim技巧:在程序代码中快速跳转,在文件内跳转到变量定义处...
  5. pygame里面物体闪烁运动_Pygame-游戏中的运动
  6. linux定时关机命令_win10电脑定时关机命令
  7. dataset的去重计数 g2_ExcelExcel去重、计数一步到位,这个方法简单到哭
  8. [SpringBoot2]ajax函数中data参数的数据设置方式
  9. [JavaWeb-HTML]HTML特殊字符表
  10. [蓝桥杯2015决赛]五星填数-枚举+数论