Luogu P1131 [ZJOI2007]时态同步 树形DP
要自下向上调整,尽可能用一个道具修改多个;
搜的时候记录叶节点的最大深度,减一下就好了。
#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相关推荐
- [ZJOI2007]时态同步 树形DP
题意:给定一棵N个节点的无根树,每条边都有一个权值V,选取其中一个点作为关键点,你可以任意增加某条边的权值,求使得从关键点出发,到任意一个叶子节点的距离都相同所需要增加的权值和. 数据范围: 对于40 ...
- 洛谷 1131 [ZJOI2007]时态同步——树形dp
题目:https://www.luogu.org/problemnew/show/P1131 因为越高,调节一个影响到的越多,所以底下只要把子树间的差异消除了就行了,与其他部分的差异由更高的边调节. ...
- P1131 [ZJOI2007] 时态同步
P1131 [ZJOI2007] 时态同步 题意: 有一颗树,有一个点是激发器,从这个点开始可以产生一个激励电流,通过导线传向每一个它所连接的节点,经过一个边的花费为w[i],你有一个道具,每用一次可 ...
- P1131 [ZJOI2007]时态同步
传送门 DP 题目讲得很清楚"对于电路板的任何两个节点,都存在且仅存在一条通路". 所以电路板是一颗树 题目要求叶子节点时态一致 如果从根开始枚举时间肯定超时 考虑反过来 从叶子节 ...
- [luogu1131][bzoj1060][ZJOI2007]时态同步【树形DP】
传送门:https://www.luogu.org/problemnew/show/P1131 题目大意 给你一棵树,每条边有边权,要求增加一些边的边权,使得根节点到每个叶子节点的距离相等,求出最少共 ...
- 1060. [ZJOI2007]时态同步【树形DP】
Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数 字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路 ...
- 【BZOJ1060】[ZJOI2007] 时态同步(树形DP)
点此看题面 大致题意: 给你一棵带权树,每次使用道具可以将某条边的边权加\(1\),问你至少需要使用多少次道具,才能使每个叶子节点到根节点的距离相等. 贪心的思想 首先,我们应该先有一个贪心的思想. ...
- ZJOI2007时态同步
描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都 ...
- 洛谷 1131 [ZJOI2007] 时态同步
题目描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点 ...
- Luogu P1122 最大子树和 树形DP
题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题.于是当日课后,小明 ...
最新文章
- HDU 2282 Chocolate (最小费用最大流)
- C# ReaderWriterLockSlim类
- 完美解决IE8有两个进程的问题
- 在五分钟内学习使用Python进行类型转换
- javascript-注释-字符串数据类型的方法
- window下启动Redis闪退问题解决
- IDEA创建maven项目之后无法编写java类
- POJ 2502 Subway dij
- 要连plsql是不是要装oracle,PLSQL直接连接数据库,不装ORACLE
- 全面的C#编码规范整理
- 区分 Linux 的硬链接与软链接
- 11.2 RS232通信接口
- 如何查看哪些期刊被SCI收录
- 时间序列预测中使用类EMD方法时的信息泄露和计算量问题
- html页面如何访问控制限制,网页访问控制
- 基于Php美妆化妆品商城购物网站
- 0-1型整数规划—MATLAB数学建模
- Python-编程例题
- IBM AIX 安装说明
- 华为 8145V 光猫操作完善教程