bzoj1060 时态同步
Description
Input
Output
仅包含一个整数V,为小Q最少使用的道具次数
Sample Input
1
1 2 1
1 3 3
Sample Output
HINT
N ≤ 500000,te ≤ 1000000
记得做这道题的那天晚上,10点了我妈说:你再做五道题再睡(水)吧,我一惊,狂找水题,这就是那晚上找的一道树dp水题
水~
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath>
using namespace std;
const int maxn=5e5+10;
long long n,root,fa[maxn],dp[maxn],tot[maxn],maxt[maxn],ans; long long aa;char cc;
long long read() {
aa=0;cc=getchar();
while(cc<'0'||cc>'9') cc=getchar();
while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',cc=getchar();
return aa;
} long long fir[maxn],nxt[2*maxn],to[2*maxn],val[2*maxn],e=0;
void add(long long x,long long y,long long v){
to[++e]=y;nxt[e]=fir[x];fir[x]=e;val[e]=v;
to[++e]=x;nxt[e]=fir[y];fir[y]=e;val[e]=v;
} void dfs1(long long pos,long long f,long long t){
fa[pos]=f;maxt[pos]=t;
for(int y=fir[pos];y;y=nxt[y]) {
if(to[y]==fa[pos]) continue;
dfs1(to[y],pos,t+val[y]);
maxt[pos]=max(maxt[pos],maxt[to[y]]);
dp[pos]+=maxt[to[y]];
tot[pos]++;
}
ans+=tot[pos]*maxt[pos]-dp[pos];
} int main() {
n=read();root=read();
long long x,y,v;
for(int i=1;i<n;++i) {
x=read();y=read();v=read();
add(x,y,v);
}
dfs1(root,0,0);
printf("%lld",ans);
return 0;
}
bzoj1060 时态同步的更多相关文章
- [ZJOI2007][BZOJ1060]时态同步
Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数 字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路 ...
- 【BZOJ1060】[ZJOI2007]时态同步 树形DP
[BZOJ1060][ZJOI2007]时态同步 Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路 ...
- 【BZOJ-1060】时态同步 树形DP (DFS爆搜)
1060: [ZJOI2007]时态同步 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2101 Solved: 595[Submit][Statu ...
- 【bzoj1060】[ZJOI2007]时态同步
题目描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点 ...
- bzoj1060 [ZJOI2007]时态同步
Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板 ...
- 【BZOJ1060】【ZJOI2007】时态同步
Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板 ...
- [BZOJ1060][ZJOI2007]时态同步 树形dp
Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数 字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路 ...
- bzoj千题计划163:bzoj1060: [ZJOI2007]时态同步
http://www.lydsy.com/JudgeOnline/problem.php?id=1060 以激发器所在节点为根 终止节点一定是叶节点 记录点的子树内最深的终止节点 然后从根往下使用道具 ...
- BZOJ1060:[ZJOI2007]时态同步——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1060 https://www.luogu.org/problemnew/show/P1131 小Q在 ...
随机推荐
- LeetCode简单算法之删除链表中的节点 #237
闲来无事,刷刷力扣,以解心头之闷. 题目内容: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以 ...
- Effective Modern C++ 条款1:理解模板型别推导
成百上千的程序员都在向函数模板传递实参,并拿到了完全满意的结果,而这些程序员中却有很多对这些函数使用的型别是如何被推导出的过程连最模糊的描述都讲不出来. 但是当模板型别推导规则应用于auto语境时,它 ...
- Wsgi研究
//转载自http://blog.kenshinx.me/blog/wsgi-research/ wsgi是一个搞web开发的pythoner必须了解的内容,之前也零散的看过一些文章,但总感觉好多概念 ...
- scrollbar 滚动条
滚动条样式:自定义元素的滚动条 <!DOCTYPE html> <html> <head lang="en"> <meta charset ...
- linux基础指令参数
eth0,eth1,eth2--代表网卡一,网卡二,网卡三-- lo代表127.0.0.1,即localhost 参考: Linux命令:ifconfig 功能说明:显示或设置网络设备 语 法:ifc ...
- JAVA ——int 类型除法保留两位小数
@Test public void txfloat() { // TODO 自动生成的方法存根 int a=9; int b=7; DecimalFormat df=new DecimalFormat ...
- PyCharm如何删除工程项目
1.在菜单中选择:file——>close project 2.选择需要删除的项目右上角的“×”号进行删除工程项目 3.找到工程项目的存放路径,删除对应的工程项目文件 通过上诉操作即可在pych ...
- shell 向python传参数,空格引发的问题
昨天用一个shell脚本,调用一个python脚本,并把shell脚本中用 time1=`date "+%Y-%m-%d %H:%M:%S"`生成的时间戳作为参数,传到python ...
- ajax下载小于500M大文件【原】
不推荐使用的FileReader 之前用FileReader读取下载文件,当文件超过1M浏览器就立即扑街了 // 文件下载 function download(blob, fileName) { va ...
- iOS常量(const)、enum以及宏(#define)
http://www.cocoachina.com/ios/20160530/16483.html 本文投稿文章,作者:SuperMario_Nil(简书) 前言:本文主要梳理iOS中如何使用常量.e ...