题目链接

  甚矣吾衰也!这么简单的DP我都不会了

  太恐怖了

  树形DP,从子树里选出时间最长的来,剩下的调到这个最长时间即可。

  

#include<cstdio>
#include<cctype>
#include<algorithm>
#include<cstring>using std::max;inline long long read(){long long num=0,f=1;char ch=getchar();while(!isdigit(ch)){if(ch=='-')    f=-1;ch=getchar();}while(isdigit(ch)){num=num*10+ch-'0';ch=getchar();}return num*f;
}struct Edge{int next,to,val;
}edge[3000020];
int head[1000200],num;
inline void add(int from,int to,int val){edge[++num]=(Edge){head[from],to,val};head[from]=num;
}long long f[1020000];
void dfs(int x,int fa){for(int i=head[x];i;i=edge[i].next){int to=edge[i].to;if(to==fa)    continue;dfs(to,x);f[x]=max(f[x],f[to]+edge[i].val);}
}long long calc(int x,int fa){long long ans=0;for(int i=head[x];i;i=edge[i].next){int to=edge[i].to;if(to==fa)    continue;ans+=calc(to,x);ans+=f[x]-f[to]-edge[i].val;}return ans;
}int main(){int n=read(),S=read();for(int i=1;i<n;++i){int from=read(),to=read(),val=read();add(from,to,val);add(to,from,val);}dfs(S,S);printf("%lld",calc(S,S));return 0;
}

转载于:https://www.cnblogs.com/cellular-automaton/p/8045758.html

【Luogu】P1131时态同步(树形DP)相关推荐

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

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

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

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

  3. BZOJ 4042 Luogu P4757 [CERC2014]Parades (树形DP、状压DP)

    题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=4042 (Luogu) https://www.luogu.org/prob ...

  4. [ZJOI2007]棋盘制作 报表统计 矩阵游戏 时态同步

    好长时间了..简要除草. 棋盘制作:经典dp... 报表统计:明显数据结构,,,但我没想出来,第一问可以用堆,第二问用平衡树. 矩阵游戏:好吧.一眼二分图,匈牙利过. 时态同步:树形dp,貌似不难,( ...

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

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

  6. $bzoj1060-ZJOI2007$ 时态同步 贪心 树形$dp$

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

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

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

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

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

  9. P1131 [ZJOI2007] 时态同步

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

最新文章

  1. qt4如何读oracle,Qt4编程的控制MPlayer
  2. Python Study:GUI-Tkinter
  3. docker 安装oracle_rancher安装oracle 11g
  4. [.NET领域驱动设计实战系列]专题八:DDD案例:网上书店分布式消息队列和分布式缓存的实现...
  5. Shell入门教程:命令替换 $() 和 ``
  6. 【记录】idea创建springboot多模块项目
  7. 19个很有用的 JavaScript 库
  8. java实验报告实验六,第六周java实验报告四
  9. Activiti的BPMN2.0中的子流程
  10. 7-9 40059 四则运算 (15 分)
  11. C# 创建进程但是失败,原因是什么
  12. ios定制中间突出的tabBar
  13. 台式机装苹果系统_关于最近折腾黑苹果的一些心得分享
  14. linux 查看服务器防火墙状态,linux防火墙查看状态firewall、iptable
  15. 阿里巴巴余军:钉钉宜搭低代码实践之路
  16. 鸿蒙HarmonyOS应用开发系列 | 解读鸿蒙源码
  17. javase-Calendar
  18. ORACLE日期函数浅谈
  19. var、let、const的区别
  20. QuickSDK-手游出海服务器接入技巧

热门文章

  1. css实现简单的告警提示动画效果
  2. 【动态规划】数字三角形2
  3. 搭建一个redis高可用系统
  4. Spark学习笔记(7)---Spark SQL学习笔记
  5. JS实战 · 复选框全选操作
  6. NSDictionary NSArray 转中文输出
  7. MFC 错误异常,用vs添加资源并为资源定义类后报错:error C2065 : 未声明的标识符...
  8. 使用wrapper将java程序注册程windows服务后不生效
  9. 浅谈C++中内存分配、函数调用和返回值问题
  10. 分布式系统部署、监控与进程管理的几重境界