HDU 1520 Anniversary party (树形DP)
来源:互联网 发布:php电影播放器源码 编辑:程序博客网 时间:2024/06/05 15:33
树形DP的关键在于如何处理递归返回的信息。这题dp[i][0]表示不选i点时当前最高权值。dp[i][1]表示选i点时当前最高权值。状态转移方程:dp[u][[0]+=max(dp[v][0],dp[v][1]),dp[u][1]+=dp[v][0];
代码如下:
#include <iostream>#include <string.h>#include <math.h>#include <queue>#include <algorithm>#include <stdlib.h>#include <map>#include <set>#include <stdio.h>using namespace std;#define LL __int64#define pi acos(-1.0)const int mod=100000000;const int INF=0x3f3f3f3f;const double eqs=1e-8;int dp[7000][2], c[7000], vis[7000];int head[7000], cnt, n;struct node{ int u, v, next;}edge[100000];void add(int u, int v){ edge[cnt].v=v; edge[cnt].next=head[u]; head[u]=cnt++;}void dfs(int u){ vis[u]=1; dp[u][1]=c[u]; for(int i=head[u];i+1;i=edge[i].next){ int v=edge[i].v; if(!vis[v]){ dfs(v); dp[u][0]+=max(dp[v][0],dp[v][1]); dp[u][1]+=dp[v][0]; } }}void init(){ memset(vis,0,sizeof(vis)); memset(head,-1,sizeof(head)); cnt=0; memset(dp,0,sizeof(dp));}int main(){ int i, j, u, v; while(scanf("%d",&n)!=EOF){ for(i=1;i<=n;i++){ scanf("%d",&c[i]); } init(); while(scanf("%d%d",&u,&v)!=EOF&&u&&v){ add(u,v); add(v,u); } dfs(1); printf("%d\n",max(dp[1][0],dp[1][1])); } return 0;}
1 0
- 树形DP---hdu 1520 Anniversary Party
- HDU 1520 Anniversary party(树形DP入门)
- HDU 1520 Anniversary party-----树形DP
- hdu(1520) Anniversary party(树形dp)
- 【树形DP】 HDU 1520 Anniversary party
- HDU 1520 Anniversary party(简单树形dp)
- HDU 1520 Anniversary party 树形DP
- HDU 1520 Anniversary party (树形DP)
- hdu 1520 Anniversary party(树形dp)
- HDU 1520 Anniversary party(树形DP)
- hdu 1520 Anniversary party(基本树形DP)
- HDU 1520 Anniversary party (树形dp)
- HDU 1520 Anniversary party / 树形DP水题!!!
- hdu 1520 Anniversary party(树形dp)
- hdu 1520Anniversary party(简单树形dp)
- 【树形DP】hdu 1520 Anniversary party
- HDU 1520 - Anniversary party (树形DP)
- poj2342|hdu 1520 Anniversary party 树形dp
- 1、第一个OC程序
- 给按钮添加位图
- 通过eclipse卸载系统应用、文件的导出导入操作以及elcipse操作常见问题分析
- Catalan(卡特兰数)
- SEO优化示例程序
- HDU 1520 Anniversary party (树形DP)
- 二分查找之天平称重,称出最重的小球
- 16.为什么标准头文件都有类似以下的结构?
- CentOS额外软件库
- Oracle中su切换进去sqlplus登录失败的问题处理
- SSZipArchive使用详解
- 感知机——R实现
- 字符串比较函数
- Android调用WCF