hdu 1520 Anniversary party 树形DP
2015-08-03 09:52
399 查看
[code]#include<stdio.h> #include<string.h> #include<vector> #include<algorithm> using namespace std; int n,dp[6000+5][2],bin[6000+5]; vector<int>d[6000+5]; void tree_dp(int x) { int i,len=d[x].size(); for(i=0;i<len;i++) { tree_dp(d[x][i]); dp[x][0]+=max(dp[d[x][i]][0],dp[d[x][i]][1]); dp[x][1]+=dp[d[x][i]][0]; } return ; } int main() { int i,a,b,rt; while(~scanf("%d",&n)) { memset(dp,0,sizeof(dp)); memset(bin,0,sizeof(bin)); for(i=0;i<=6000;i++) d[i].clear(); for(i=1;i<=n;i++) scanf("%d",&dp[i][1]); while(~scanf("%d%d",&a,&b)) { if(a==0&&b==0) break; rt=b; bin[a]=b; d[b].push_back(a); } while(bin[rt]) rt=bin[rt]; tree_dp(rt); printf("%d\n",max(dp[rt][0],dp[rt][1])); } return 0; }
相关文章推荐
- linux 信号列表
- iOS学习笔记1-开发的一些奇巧淫技
- Lowest Common Ancestor of a Binary Search Tree
- hdu 1520 Anniversary party 树形DP
- IOS网络编程要学习的框架
- stm32 bootloader
- MacBook Air响一声白屏故障情况说明及解决
- LeetCode206——Reverse Linked List 反转链表
- poj2253
- 黑马程序员——反射
- [安卓基础] 009.组件Activity详解
- 我的Android进阶之旅------>Android知识图谱
- Zabbix安装及简单应用
- js闭包初体验
- 同一网站不同和二级域名和不同子目录的cookie
- 一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS
- 第2章 线程安全性-加锁机制
- stm32学习资料
- 南邮 OJ 1004 线性表操作
- HODJ3555 Bomb【数位dp】