博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codeforces 682C Alyona and the Tree DFS
阅读量:5130 次
发布时间:2019-06-13

本文共 1062 字,大约阅读时间需要 3 分钟。

这个题就是在dfs的过程中记录到根的前缀和,以及前缀和的最小值

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const int N=1e5+5;const int INF=0x3f3f3f3f;const int mod=1e9+7;struct Edge{ int v,w,next;}edge[N<<1];int head[N],tot,a[N],n;bool del[N];void add(int u,int v,int w){ edge[tot].v=v; edge[tot].w=w; edge[tot].next=head[u]; head[u]=tot++;}int ret;void dfs(int u,int f,LL cur,LL mn){ if(del[f])del[u]=true,++ret; else if(cur-mn>a[u])del[u]=true,++ret; for(int i=head[u];~i;i=edge[i].next){ int v=edge[i].v; if(v==f)continue; dfs(v,u,cur+1ll*edge[i].w,min(cur+1ll*edge[i].w,mn)); }}int main(){ scanf("%d",&n); for(int i=1;i<=n;++i)scanf("%d",&a[i]); memset(head,-1,sizeof(head)); for(int i=2;i<=n;++i){ int u=i,v,w; scanf("%d%d",&v,&w); add(u,v,w);add(v,u,w); } dfs(1,0,0,0); printf("%d\n",ret); return 0;}
View Code

 

转载于:https://www.cnblogs.com/shuguangzw/p/5615765.html

你可能感兴趣的文章
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>
springboot No Identifier specified for entity的解决办法
查看>>
浅谈 unix, linux, ios, android 区别和联系
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
下一代操作系统与软件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Python IO模型
查看>>