要自下向上调整,尽可能用一个道具修改多个;

搜的时候记录叶节点的最大深度,减一下就好了。

#include<cstdio>
#include<iostream>
#include<cstring>
#define R register int
using namespace std;
struct edge {int v,w,nxt;
}e[1000010];
int n,cnt,s;
int fir[500010];
long long ans,mx[500010];
inline void add(int u,int v,int w) {e[++cnt].v=v,e[cnt].w=w,e[cnt].nxt=fir[u],fir[u]=cnt;}
inline int g() {R ret=0,fix=1; register char ch; while(!isdigit(ch=getchar())) fix=ch=='-'?-1:fix;do ret=ret*10+(ch^48); while(isdigit(ch=getchar())); return ret*fix;
}
void dfs(int u,int fa) {//cout<<u<<" "<<fa<<endl;for(R i=fir[u];i;i=e[i].nxt) {R v=e[i].v;if(v==fa) continue;dfs(v,u); mx[u]=max(mx[u],mx[v]+e[i].w);}for(R i=fir[u];i;i=e[i].nxt) {R v=e[i].v;if(v==fa) continue;ans+=mx[u]-(mx[v]+e[i].w);}
}
signed main() {n=g(),s=g();for(R i=1;i<n;++i){R u=g(),v=g(),w=g(); add(u,v,w),add(v,u,w);}dfs(s,0); printf("%lld\n",ans);
}


2019.04.26

转载于:https://www.cnblogs.com/Jackpei/p/10783819.html

Luogu P1131 [ZJOI2007]时态同步 树形DP相关推荐

  1. [ZJOI2007]时态同步 树形DP

    题意:给定一棵N个节点的无根树,每条边都有一个权值V,选取其中一个点作为关键点,你可以任意增加某条边的权值,求使得从关键点出发,到任意一个叶子节点的距离都相同所需要增加的权值和. 数据范围: 对于40 ...

  2. 洛谷 1131 [ZJOI2007]时态同步——树形dp

    题目:https://www.luogu.org/problemnew/show/P1131 因为越高,调节一个影响到的越多,所以底下只要把子树间的差异消除了就行了,与其他部分的差异由更高的边调节. ...

  3. P1131 [ZJOI2007] 时态同步

    P1131 [ZJOI2007] 时态同步 题意: 有一颗树,有一个点是激发器,从这个点开始可以产生一个激励电流,通过导线传向每一个它所连接的节点,经过一个边的花费为w[i],你有一个道具,每用一次可 ...

  4. P1131 [ZJOI2007]时态同步

    传送门 DP 题目讲得很清楚"对于电路板的任何两个节点,都存在且仅存在一条通路". 所以电路板是一颗树 题目要求叶子节点时态一致 如果从根开始枚举时间肯定超时 考虑反过来 从叶子节 ...

  5. [luogu1131][bzoj1060][ZJOI2007]时态同步【树形DP】

    传送门:https://www.luogu.org/problemnew/show/P1131 题目大意 给你一棵树,每条边有边权,要求增加一些边的边权,使得根节点到每个叶子节点的距离相等,求出最少共 ...

  6. 1060. [ZJOI2007]时态同步【树形DP】

    Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数 字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路 ...

  7. 【BZOJ1060】[ZJOI2007] 时态同步(树形DP)

    点此看题面 大致题意: 给你一棵带权树,每次使用道具可以将某条边的边权加\(1\),问你至少需要使用多少次道具,才能使每个叶子节点到根节点的距离相等. 贪心的思想 首先,我们应该先有一个贪心的思想. ...

  8. ZJOI2007时态同步

    描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都 ...

  9. 洛谷 1131 [ZJOI2007] 时态同步

    题目描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点 ...

  10. Luogu P1122 最大子树和 树形DP

    题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题.于是当日课后,小明 ...

最新文章

  1. HDU 2282 Chocolate (最小费用最大流)
  2. C# ReaderWriterLockSlim类
  3. 完美解决IE8有两个进程的问题
  4. 在五分钟内学习使用Python进行类型转换
  5. javascript-注释-字符串数据类型的方法
  6. window下启动Redis闪退问题解决
  7. IDEA创建maven项目之后无法编写java类
  8. POJ 2502 Subway dij
  9. 要连plsql是不是要装oracle,PLSQL直接连接数据库,不装ORACLE
  10. 全面的C#编码规范整理
  11. 区分 Linux 的硬链接与软链接
  12. 11.2 RS232通信接口
  13. 如何查看哪些期刊被SCI收录
  14. 时间序列预测中使用类EMD方法时的信息泄露和计算量问题
  15. html页面如何访问控制限制,网页访问控制
  16. 基于Php美妆化妆品商城购物网站
  17. 0-1型整数规划—MATLAB数学建模
  18. Python-编程例题
  19. IBM AIX 安装说明
  20. 华为 8145V 光猫操作完善教程

热门文章

  1. Prototype的JSON支持
  2. JSP的自定义标签(五)之Tag File
  3. [渝粤教育] 广东-国家-开放大学 21秋期末考试国际私法10216k1
  4. pku 3533 Light Switching Game(nim 积)
  5. Python进阶(五)模块、包详解
  6. IP通信基础 3月6日
  7. PHP-FPM 设置多pool、配置文件重写
  8. 51nod 1134最长递增子序列
  9. Hadoop设置任务执行队列及优先级
  10. [转]如何设置opengl结合vc开发绚丽的3D图形---操作详解