hdu 1520 (树形DP)
dp[i][0]表示i不参加
dp[i][1]表示i参加
简单的树形dp
#include<stdio.h>
#include<string.h>
#define N 6100
#define inf 0x3fffffff
int dp[N][2],vis[N],head[N],num,n,lo[N],mm;
struct edge
{
int st,ed,next;
}E[N*2];
void addedge(int x,int y)
{
E[num].st=x;
E[num].ed=y;
E[num].next=head[x];
head[x]=num++;
}
int max(int a,int b)
{
if(a>b)return a;
return b;
}
void dfs(int u)
{
int v,i;
dp[u][0]=0;
dp[u][1]=lo[u];
vis[u]=1;
for(i=head[u];i!=-1;i=E[i].next)
{
v=E[i].ed;
if(vis[v]==1)continue;
dfs(v);
dp[u][0]+=max(dp[v][1],dp[v][0]);
dp[u][1]+=dp[v][0];
}
}
int main()
{
int i,x,y;
while(scanf("%d",&n)!=-1)
{
for(i=1;i<=n;i++)
scanf("%d",&lo[i]);
memset(head,-1,sizeof(head));
num=0;
while(scanf("%d%d",&x,&y),x||y)
{
addedge(x,y);
addedge(y,x);
}
memset(vis,0,sizeof(vis));
dfs(1);
printf("%d\n",dp[1][0]>dp[1][1]?dp[1][0]:dp[1][1]);
}
return 0;
}
hdu 1520 (树形DP)的更多相关文章
- HDU 1520   树形dp裸题
		
1.HDU 1520 Anniversary party 2.总结:第一道树形dp,有点纠结 题意:公司聚会,员工与直接上司不能同时来,求最大权值和 #include<iostream> ...
 - HDU 1520 树形DP入门
		
HDU 1520 [题目链接]HDU 1520 [题目类型]树形DP &题意: 某公司要举办一次晚会,但是为了使得晚会的气氛更加活跃,每个参加晚会的人都不希望在晚会中见到他的直接上司,现在已知 ...
 - codevs 1380/HDU 1520  树形dp
		
1380 没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 回到问题 题目描述 Description Ural大学有N个职员 ...
 - HDU - 1520 树形DP入门题
		
写了两种DP,第一种是按照自己习惯来xjb敲的,第二种参考别人 熟悉一下树形DP的套路 dp[i][]是维护i及以下的关系最优值的,所以我觉得两次DP记忆搜索之间不清-1应该是正确的(也就做了一次加法 ...
 - hdu 1520 树形DP基础
		
http://acm.hdu.edu.cn/showproblem.php?pid=1520 父节点和子节点不能同时选. http://blog.csdn.net/woshi250hua/articl ...
 - poj 2342 && hdu 1520 树形dp
		
题意:有n个人,接下来n行是n个人的价值,再接下来n行给出l,k说的是l的上司是k,这里注意l与k是不能同时出现的 链接:点我 dp[i][1] += dp[j][0], dp[i][0] += ma ...
 - hdu 4123 树形DP+RMQ
		
http://acm.hdu.edu.cn/showproblem.php? pid=4123 Problem Description Bob wants to hold a race to enco ...
 - HDU 1561 树形DP入门
		
The more, The Better Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
 - HDU 2196树形DP(2个方向)
		
HDU 2196 [题目链接]HDU 2196 [题目类型]树形DP(2个方向) &题意: 题意是求树中每个点到所有叶子节点的距离的最大值是多少. &题解: 2次dfs,先把子树的最大 ...
 
随机推荐
- Nginx/Apache日志分析脚本
			
1,查看apache进程: ps aux | grep httpd | grep -v grep | wc -l 2,查看80端口的tcp连接: netstat -tan | grep "E ...
 - POJ2635——The Embarrassed Cryptographer(高精度取模+筛选取素数)
			
The Embarrassed Cryptographer DescriptionThe young and very promising cryptographer Odd Even has imp ...
 - linux下关于程序性能和系统性能的工具、方法
			
观察性能/状态的方法:top free netstat /pro/目录下的信息 其中/pro/meminfo下的信息相当丰富 ------------------------------------- ...
 - Hibernate中的query.setFirstResult(),query.setMaxResults();
			
一.query.scroll()和query.setFirstResult(),query.setMaxResults();这两种方法都可以取到一定范围内的数据,用来数据分页显示.那么两者区别,以及两 ...
 - 如何把Excel另存为XML格式文件(快速转换)
			
这时,我们尝试另存为另一种文件类型: XML电子表格2003(*.xml)
 - bzoj1937
			
这道题没弄明白 初始模型很好想,是用到了最小生成树的性质 加入非树边后树上形成的环,非树边一定大于等于任意树边 然后考虑树边一定是缩小,非树边一定是增大 有di+wi>=dj-wj wi+wj& ...
 - bzoj4525: [Usaco2016 Jan]Angry Cows
			
二分. #include<cstdio> #include<algorithm> #include<cstring> using namespace std; + ...
 - 三维软件转Unity的系统单位设置研究
			
Unity的系统单位为米,其他3D软件的模型导入,而保持和Unity的比例一致是非常重要的,下面对各软件进行测试: ㈠. 3dsmax 转 Unity的比例为100:1:也就是说Unity单位是3ds ...
 - POJ3691DNA repair
			
题解: 构建出trie图,令f[i][j]表示到第i个字符走到j号节点最少需要修改的字符数,然后枚举后继节点转移即可. 代码:没写caseWA了n发... #include<cstdio> ...
 - ↗☻【编写可维护的JavaScript #BOOK#】第9章 将配置数据从代码中分离出来
			
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...