bzoj 2783 树(dfs 前缀和 邻接表)(中等)
来源:互联网 发布:网红脸是什么体验知乎 编辑:程序博客网 时间:2024/06/01 03:58
【bzoj2783】[JLOI2012]树
Description
输入样例:输出样例:3 3 2Input
Output
Sample Input
Sample Output
HINT
题解
#include<iostream>#include<cstdio>#include<set>using namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}int n,s,cnt,ans;int v[100005],last[100005],sum[100005];multiset<int> q;struct edge{int to,next;}e[100005];void insert(int u,int v){e[++cnt].to=v;e[cnt].next=last[u];last[u]=cnt;}void dfs(int x){if(q.find(sum[x]-s)!=q.end()) ans++;q.insert(sum[x]);for(int i=last[x];i;i=e[i].next){sum[e[i].to]=sum[x]+v[e[i].to];dfs(e[i].to);}q.erase(q.find(sum[x]));}int main(){n=read();s=read();q.insert(0);for(int i=1;i<=n;i++)v[i]=read();for(int i=1;i<n;i++){int u=read(),v=read();insert(u,v);}sum[1]=v[1];dfs(1);printf("%d\n",ans);return 0;}
0 0
- bzoj 2783 树(dfs 前缀和 邻接表)(中等)
- DFS和BFS 邻接矩阵和邻接表
- 图的邻接表和DFS遍历
- bzoj 1303 |前缀和
- 邻接表—DFS
- 邻接表 DFS
- hdu1269(邻接表+dfs)
- DFS遍历邻接表
- 用邻接链表实现BFS算法和DFS算法
- 邻接表和邻接矩阵手写简洁代码DFS BFS
- DFS分别用邻接矩阵和邻接表访问
- 图的邻接表 表示 DFS 和BFS C++实现
- 邻接表无向图的创建和遍历(dfs)
- 邻接表和邻接矩阵手写简洁代码DFS BFS
- 图的邻接表建立以及DFS和BFS
- BZOJ 2783 JLOI2012 树 DFS
- BZOJ 1218 二维前缀和
- hdu4707 Pet【DFS&邻接表】
- memset使用注意事项
- js格式文件中获取JSP变量的方法
- iOS 8 新特性介绍
- HessianPHP使用注意事项
- 将一个在svn上的工程,修改后上传到另一个路径下
- bzoj 2783 树(dfs 前缀和 邻接表)(中等)
- iOS之捕捉home事件
- block初级使用
- 杭电acm 2520 我是菜鸟,我怕谁
- JAVA:纯真IP地址库的前述
- 189Rotate Array
- Centos7下配置node.js环境
- android 经典java笔试面试题很详细不看后悔!
- 使用sina js 根据文件名作股票代码 看股票