Hdu 1520 Anniversary party (树形dp入门,类似最大独立集)
来源:互联网 发布:数据库中column 编辑:程序博客网 时间:2024/05/21 11:58
#include <cstdio>#include <vector>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int maxn = 6100;vector<int> G[maxn];int d[maxn][2],c[maxn];/*1 该节点已经选取0 该节点未选区*/bool vis[maxn][2];int dp(int i,int j,int f){ if(vis[i][j]) return d[i][j]; vis[i][j] =true; if(G[i].size()==1&&G[i][0]==f){ return d[i][j] = 0; } d[i][j]=0; for(int k=0;k<G[i].size();k++){ if(G[i][k]==f) continue; if(j&1) d[i][j]+=dp(G[i][k],0,i); else d[i][j]+=max(dp(G[i][k],0,i),dp(G[i][k],1,i)+c[G[i][k]]); } return d[i][j];}int main(){ int n; while(scanf("%d",&n)==1){ for(int i=1;i<=n;i++){ G[i].clear(); scanf("%d",&c[i]); } for(int i=1;i<=n;i++){ int x,y; scanf("%d %d",&x,&y); if(!x||!y) break; G[x].push_back(y); G[y].push_back(x); } memset(vis,false,sizeof(vis)); printf("%d\n",max(dp(1,0,-1),dp(1,1,-1)+c[1])); } return 0;}
0 0
- Hdu 1520 Anniversary party (树形dp入门,类似最大独立集)
- HDU 1520 Anniversary party(树形DP-最大独立集)
- hdu 1520 Anniversary party 基础树形DP 树的最大独立集
- HDU 1520 Anniversary party(树形DP入门)
- HDU 1520Anniversary party 树形DP入门
- HDU 1520 Anniversary party 树形DP入门
- hdu 1520 Anniversary party 树形dp入门
- HDU 1520 Anniversary party 树形dp 入门
- hdu1520 Anniversary party(最大独立集 树形dp)
- HDU 1520 Anniversary party 树形DP入门题
- hdu 1520 Anniversary party(树形DP入门)
- HDU 1520 & POJ 2342 Anniversary party(树形DP入门题)
- HDU 1520 Anniversary party (简单树形DP入门)
- HDU-1520-Anniversary party(树形DP入门)
- hdoj 1520 Anniversary party 【树形DP入门】
- 树形DP---hdu 1520 Anniversary Party
- HDU 1520 Anniversary party-----树形DP
- hdu(1520) Anniversary party(树形dp)
- Qt64位编译时,public: void __cdecl QEventDispatcherWin32Private::doWsaAsyncSelect(int).
- 解决IE系列浏览器上传页面接收问题
- 闹铃
- <%=a%>
- QT210烧写UBOOT到SD卡原理以及UBOOT启动
- Hdu 1520 Anniversary party (树形dp入门,类似最大独立集)
- Cognos函数(二十四) - descendants
- 【iOS开发-95】JSON反序列化、XML数据解析以及主线程中的UI更新等小细节
- hadoop 2.2.0集群安装 (转载)
- select last_insert_id() into paraId;
- Linux 汇编语言开发指南
- java多线程创建
- Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
- css 内外边距