hdu5325 Crazy Bobo(建图,搜索)
来源:互联网 发布:java使用redis统计 编辑:程序博客网 时间:2024/05/16 06:45
hdu5325
题目
Bob有一棵树,上面有点,点有权值,求最大的点的集合,他们联通且将点按照权值升序排序后,序列中相邻点的路径上的任意一点都要比起点小。
思路
转换成有向图进行搜索,根据点的权值建图,小的点指向大的点,在图上寻找能经过最多点的点。大的点总是作为某段序列的图上的终点,保证排序后当他们是起点时经过的点肯定比他们小。
代码
#include <iostream>#include <cstdlib>#include <cstdio>#include <vector>using namespace std;int num;int w[500100];vector<int> edges[500100];int rem[500100];int dfs(int root){ if(rem[root]!=0) return rem[root]; rem[root]=1; for(int i=0; i<edges[root].size(); i++) { int to=edges[root][i]; rem[root]+=dfs(to); } return rem[root];}int main(){ while(scanf("%d",&num)!=EOF) { for(int i=1; i<=num; i++) { rem[i]=0; edges[i].clear(); } for(int i=1; i<=num; i++) { scanf("%d",&w[i]); } for(int i=0; i<num-1; i++) { int a,b; scanf("%d %d",&a,&b); if(w[a]>w[b]) edges[b].push_back(a); else edges[a].push_back(b); } int ans=0; for(int i=1; i<=num; i++) ans=max(ans,dfs(i)); printf("%d\n",ans); } return 0;}
0 0
- hdu5325 Crazy Bobo(建图,搜索)
- hdu5325 Crazy Bobo
- hdu5325 Crazy Bobo
- hdu5325(2015多校3)--Crazy Bobo(dfs)
- 解题报告 之 HDU5325 Crazy Bobo
- 树上记忆化搜索(Crazy Bobo,HDU 5325)
- hdu 5325 Crazy Bobo 乱搞+搜索
- hdu 5325 Crazy Bobo(树形dp)
- HDU 5325 Crazy Bobo
- hdu 5325 Crazy Bobo
- HDU 5325 Crazy Bobo
- hdu 5325 Crazy Bobo
- HDU 5325 Crazy Bobo
- HDU 5325 Crazy Bobo(思路+dfs 记忆化)
- HDU 5325 CRAZY BOBO 排序
- HDU 5325 - Crazy Bobo(DFS)
- hdu 5325 Crazy Bobo dfs
- HDU 5325 Crazy Bobo(深搜)
- Big Number
- C++ Primer 第16章 知识点回顾
- Javascript
- Android颜色对照表
- Android studio快捷键大全 和 eclipse对照(原)
- hdu5325 Crazy Bobo(建图,搜索)
- 项目实战--PC端固定布局[4]之figure
- 数组与指针的操作
- Android线程池源码解析
- html图片上传阅览并且点击放大
- 使用无线方式将手机链接ADB
- HashSet是如何去重的
- 设置margin-top值时,溢出到父元素
- 对于Socket的简易封装