构造

这种贡献在边上的题的套路就是按边考虑。对于一条边,它的贡献一定不超过它两端子树的大小的较小值。开一个脑洞就会发现我们确实可以构造出这样一个方案。以重心为根,使每一条路径都经过重心即可。由于每一个子树的大小不超过n/2,所以这是一定能构造出来的。

#include<cstdio>
#include<algorithm>
#define N 100005
using namespace std;
namespace runzhe2000
{typedef long long ll;int n, last[N], ecnt, siz[N];ll ans;struct edge{int next, to, v;}e[N<<1];void addedge(int a, int b, int c){e[++ecnt] = (edge){last[a], b ,c};last[a] = ecnt;}void dfs(int x, int f){siz[x] = 1;for(int i = last[x]; i; i = e[i].next){int y = e[i].to;if(y != f){dfs(y, x);siz[x] += siz[y];ans += (ll)e[i].v * min(siz[y], n - siz[y]);}}}void main(){scanf("%d",&n);for(int i = 1, a, b, c; i < n; i++){scanf("%d%d%d",&a,&b,&c);addedge(a, b, c);addedge(b, a, c);}dfs(1,0);printf("%lld\n",ans);}
}
int main()
{runzhe2000::main();
}

51Nod 1737 配对相关推荐

  1. 51nod 1737 配对 【树形dp】

    题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1737 题意: 给出一棵n个点的树,将这n个点两两配对,求所有可行的 ...

  2. 【51NOD 1737】配对

    Description 给出一棵n个点的树,将这n个点两两配对,求所有可行的方案中配对两点间的距离的总和最大为多少. Solution 贪心的想,有使距离总和最大,每条边乘上的系数就要尽量的大, 设f ...

  3. 51nod 1737 思维+ 树重心

    链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1737 思路: 对于每一条边,我们如果想要使得他发挥最大价值,其实 ...

  4. Problem solved list

    Time: 2017.11.7 :(tot solved 4) 组队训练(CCPC秦皇岛)solved 5 : ZOJ - 3981 Balloon Robot 思维 ZOJ - 3987 Numbe ...

  5. 51nod 2494 最长配对

    小b有一个01序列,她想找到一个最长的区间使得这个区间的01能两两配对,即0的个数和1的个数相等.求最长区间的长度. 收起 输入 第一行一个正整数n,表示数组长度,其中0<n≤50000: 第二 ...

  6. 51nod 2006 飞行员配对(二分图最大匹配) 裸匈牙利算法 求二分图最大匹配题

    题目: 题目已经说了是最大二分匹配题, 查了一下最大二分匹配题有两种解法, 匈牙利算法和网络流. 看了一下觉得匈牙利算法更好理解, 然后我照着小红书模板打了一遍就过了. 匈牙利算法:先试着把没用过的左 ...

  7. LeetCode简单题之比赛中的配对次数

    题目 给你一个整数 n ,表示比赛中的队伍数.比赛遵循一种独特的赛制: 如果当前队伍数是 偶数 ,那么每支队伍都会与另一支队伍配对.总共进行 n / 2 场比赛,且产生 n / 2 支队伍进入下一轮. ...

  8. 网络流24题-飞行员配对方案问题

    飞行员配对方案问题 时空限制1000ms / 128MB 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能 ...

  9. 51nod 1617 奇偶数组

    传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...

最新文章

  1. pytorch系列 -- 9 pytorch nn.init 中实现的初始化函数 uniform, normal, const, Xavier, He initialization...
  2. SSG140 web、telnet、ssh无法访问,仅支持console
  3. elasticSearch6源码分析(4)indices模块
  4. pypthon3精要(11)-try,except,else异常处理
  5. DOM节点中属性nodeName、nodeType和nodeValue的区别 Delphi
  6. Linux终端显示工作路径
  7. 发布Drools Workbench到Tomcat on Linux
  8. matlab单层感知器画线,MATLAB神经网络学习(1):单层感知器
  9. JAAS Authorization文档
  10. python scipy实例_python简单实现最大似然估计scipy库的使用详解
  11. [转载] 怎样彻底卸载anaconda?
  12. vscode的pip安装
  13. 如何用计算机ip连接打印机共享,ip共享打印机怎么设置
  14. CTE 递归查询全解
  15. 移动脑电在神经发展障碍研究中的运用
  16. unix和linux发音,Linux术语发音大全
  17. Linux 30岁,这些年经历了什么?
  18. pytest学习和使用8-fixture如何实现teardown功能?(yield的使用)
  19. phpmyadmin 4.8.1 Remote File Inclusion Vulnerability (CVE-2018-12613)漏洞复现
  20. python爬取王者荣耀英雄素材图案例

热门文章

  1. NFC通信基本原理 主动和被动通信
  2. 死磕 java同步系列之redis分布式锁进化史
  3. 平面最近点距离问题(分治法)
  4. 系统集成资质取消后 ,偷偷崛起的ICSCE资质(信息化能力和信用评价资质)
  5. 一级计算机的分类汇总在哪里,在Excel工作表的数据列表中插入分类汇总
  6. 数据库--02--数据模型--层次模型.网状模型.关系模型
  7. ubuntu安装python3.6_Ubuntu 16.04上安装和使用Python3.6
  8. 数据结构查找-7-7 词典 (15 分)
  9. Mysql可视化软件-Navicat和SQLyog
  10. 银行RPA的5个案例场景展示