//    hdu 5325 Crazy Bobo
//
// 题目大意:
//
// 给你一棵树,树上每一个节点都有一个权值w,选择尽可能多的节点,
// 这些节点相互联通,而且依照权值升序排序之后得到节点编号,
// 需相邻节点之间的随意节点都要大于较小的节点。
//
// 解题思路:
// 对于每一对u,v,我们建一条这种边:权值小的像权值大的连一条边。
// 这样,问题就转化为求以u最小的权值为根的子树上点集的最大值。
// dfs就可以。
//
//
// 感悟:
//
// 多校的一道题目,当时并没有想出来怎么做。看了看题解。然后依照
// 自己的理解敲了一边,交一发,STACK_OVERFLOW,心想怎么可能呢?
// 然后依照题解交了一发,天真的没有复制拓展栈(当时无知的我并不知道)
// 交了一发还是STACK_OVERFLOW,心里就纳闷儿了,怎么可能呢?然后云集
// 了各方的题解,发现。。。要栈拓展。由于这题数据比較大。栈的空间须要
// 非常大,所以要拓展栈。 习得了pragma这项黑客技能,只是这是c++的,g++不能够
// 我也不太懂。仅仅是会Ctrl + C 和 Ctrl + V,看来还是得多掌握掌握技能。
// 继续加油吧! ! !FIGHTING #pragma comment(linker, "/STACK:1024000000,1024000000")
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <vector> using namespace std; const int MAX_N = 500009; vector<int> g[MAX_N];
int d[MAX_N];
int n;
int w[MAX_N];
bool vis[MAX_N];
void dfs(int u){
vis[u] = 1;
d[u] = 1;
for (int i=0;i<g[u].size();i++){
int v = g[u][i];
if (!vis[v]){
dfs(v);
}
d[u] += d[v]; }
} void print(){
for (int i=1;i<=n;i++){
printf("%d ",d[i]);
}
puts("");
} void input(){
for (int i=1;i<=n;i++){
scanf("%d",&w[i]);
g[i].clear();
} for (int i = 1;i<n;i++){
int u,v;
scanf("%d%d",&u,&v);
if (w[u] < w[v]) g[u].push_back(v);
else if (w[v] < w[u])
g[v].push_back(u);
}
memset(vis,0,sizeof(vis));
} void solve(){
for (int i=1;i<=n;i++){
if (!vis[i]){
dfs(i);
}
}
int mx = 0;
for (int i=1;i<=n;i++){
mx = max(mx,d[i]);
}
printf("%d\n",mx); //print();
} int main(){
//freopen("1.txt","r",stdin);
while(scanf("%d",&n)!=EOF){
input();
solve();
} }

hdu 5325 Crazy Bobo dfs的更多相关文章

  1. HDU 5325 Crazy Bobo(思路+dfs 记忆化)

    Crazy Bobo Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Tota ...

  2. hdu 5325 Crazy Bobo (树形dp)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Crazy Bobo Time Limit: 6000/3000 MS (Java ...

  3. 2015 Multi-University Training Contest 3 hdu 5325 Crazy Bobo

    Crazy Bobo Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total ...

  4. DFS/BFS+思维 HDOJ 5325 Crazy Bobo

    题目传送门 /* 题意:给一个树,节点上有权值,问最多能找出多少个点满足在树上是连通的并且按照权值排序后相邻的点 在树上的路径权值都小于这两个点 DFS/BFS+思维:按照权值的大小,从小的到大的连有 ...

  5. HDU 3157 Crazy Circuits(有源汇上下界最小流)

    HDU 3157 Crazy Circuits 题目链接 题意:一个电路板,上面有N个接线柱(标号1~N),还有两个电源接线柱 + -.给出一些线路,每一个线路有一个下限值求一个能够让全部部件正常工作 ...

  6. HDOJ(HDU).2660 Accepted Necklace (DFS)

    HDOJ(HDU).2660 Accepted Necklace (DFS) 点我挑战题目 题意分析 给出一些石头,这些石头都有自身的价值和重量.现在要求从这些石头中选K个石头,求出重量不超过W的这些 ...

  7. HDOJ(HDU).1045 Fire Net (DFS)

    HDOJ(HDU).1045 Fire Net [从零开始DFS(7)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DFS HD ...

  8. HDOJ(HDU).1241 Oil Deposits(DFS)

    HDOJ(HDU).1241 Oil Deposits(DFS) [从零开始DFS(5)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...

  9. HDOJ(HDU).1035 Robot Motion (DFS)

    HDOJ(HDU).1035 Robot Motion [从零开始DFS(4)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DF ...

随机推荐

  1. Server 2008 R2 事件查看器实现日志分析

    在 windows server 2008 R2 中,可以通过点击 "开始" -> "管理工具" -> "事件查看器" ,来打开 ...

  2. 测试端口是否开放用PIN还是telnet命令

    有时候很想知道一个IP的某个端口是否开放,那么你会用什么命令来测试呢?是ping还是telnet? 其实正确的方法应该是telnet命令.因为用ping命令的话不管你ping哪个端口,只要这个IP地址 ...

  3. HiveServer2后台运行

    nohup hive --service hiveserver2 & 或者直接: nohup hiveserver2 &

  4. Microsoft Access Engine

    在64位Win7操作系统中安装Microsoft Access Engine的解决方案 原创 2014年01月06日 19:33:56 44847 现在的Win7系统中安装的一般都是32位的Offic ...

  5. react native 从头开始

    1.react-native run-android 报错SDK location not found. Define location with sdk.dir in the local.prope ...

  6. org.springframework.data.repository.config.RepositoryConfigurationSource.getAttribute(Ljava/lang/String;)Ljava/util/Optional;

    升级springboot到2.0时,碰到了一大堆问题,上面异常原因是jar版本冲突了,有的模块忘记更新版本了,统一一下版本就可以了

  7. jQuery图片延迟加载插件jQuery.lazyload 的使用

    使用方法 引用jquery和jquery.lazyload.js到你的页面 1 2 <script src="jquery-1.11.0.min.js"></sc ...

  8. 通过docker-composer启动容器nginx,并完成spring.boot的web站点端口转发

    前面已经讲过2篇基于docker的mysql.redis容器编排并启动.这次将练习下nginx的docker方式的部署,以及通过nginx去代理宿主主机上的Web服务应该怎么配 PS:(这里由于ngi ...

  9. 初识 MyBatis

    框架技术 使用框架构建项目,当确定使用哪个技术框架后,就已经有了一个 “半成品”,然后在这个半成品上填上内容,完成任务需求. 框架技术的优点: (1)不用再考虑公共问题,框架已经帮我们做好了. (2) ...

  10. AWK简单使用方法

    1. 命令格式 gawk [OPTIONS] 'program' FILES.... program:'PATTERN{ACTION}' 一条awk命令中,PATTERN和ACTION,至少存在一个才 ...