ZOJ3201 Tree of Tree 【树形dp】
来源:互联网 发布:手机标尺软件 编辑:程序博客网 时间:2024/05/17 05:55
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3326
题意:在一颗树中找到大小为K的权值最大的子树
分析:典型的树形dp,转移方程dp[u][j]=max(dp[u][j],d[u][j-k]+dp[v][k]),dp[u][j]表示第u个点为子树根节点取子树大小为j的最大权值。这个方程比较好推,具体实现起来就是个背包的过程,但是不能按01背包的写法,需要按floyd的写法,不然会有点重复计算
代码:
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<vector>#include<cmath>#define N 105using namespace std;int dp[N][N],pre[N],val[N];int cnt,n,k;struct edge{ int v,next;}e[N*2];void add(int u,int v){ e[cnt].v=v;e[cnt].next=pre[u]; pre[u]=cnt++;}void dfs(int u,int p){ for(int i=0;i<=k;i++)dp[u][i]=-1; dp[u][1]=val[u]; for(int i=pre[u];i!=-1;i=e[i].next){ int v=e[i].v; if(v==p)continue; dfs(v,u); for(int j=k;j>=1;j--){ for(int l=1;l<=j;l++){ if(dp[u][l]==-1)continue; dp[u][j]=max(dp[u][j],dp[u][l]+dp[v][j-l]); } } }}int main(){ while(scanf("%d%d",&n,&k)!=EOF){ for(int i=0;i<n;i++)scanf("%d",&val[i]); cnt=0;memset(pre,-1,sizeof(pre)); for(int i=1;i<n;i++){ int u,v;scanf("%d%d",&u,&v); add(u,v);add(v,u); } dfs(0,0);int ans=0; for(int i=0;i<n;i++)ans=max(ans,dp[i][k]); printf("%d\n",ans); } return 0;}
0 0
- 树形DP专辑-ZOJ3201(Tree of Tree)
- ZOJ3201 Tree of Tree 【树形dp】
- Zoj3201 Tree of Tree 树形DP
- ZOJ3201 Tree of Tree 树状dp入门
- 树型dp Zoj3201 tree of tree
- zoj3201 Tree of Tree
- 【树形dp】ZOJ-3326-Tree of Tree
- (树形DP)tree of tree (zju)
- ZOJ 3201 Tree of Tree 树形DP
- ZOJ - 3201 Tree of Tree 树形DP
- zoj3201 树形DP+DFS
- zoj 3201 简单树形dp Tree of Tree
- ZOJ 3201 Tree of Tree(树形背包DP)
- ZOJ 3201 Tree of Tree(树形DP)
- zoj 3201 Tree of Tree(树形背包dp)
- TOJ 2676 ZOJ 3201 Tree of Tree / 树形DP
- ZOJ 3201 Tree of Tree(树形dp + 分组背包)
- ZOJ 3201 Tree of Tree(树形DP+背包)
- 南阳91 阶乘之和
- service--取得所有的service
- Hadoop源码级实战培训 第三期, 新增SPARK内容! 完整包含hadoop2.0!(不含认证), 正在报名 . . .
- 浙大PAT 1046题 1046. Shortest Distance
- 像微信、QQ一样,按返回键只是切activity到后台
- ZOJ3201 Tree of Tree 【树形dp】
- 慧荣SM3267AB主控U盘量产的工具
- 删除的java文件如何找回
- OpenGL 函数 gluLookAt() glScalef() glTranslatef() glRotatef() glFrustum() glPerspective() 的使用
- Java中super的几种用法并与this的区别
- 开灯问题
- 编程
- SharePoint 2010 master page 控件介绍(3) :页面主体内容
- ORA-01855: AM/A.M. or PM/P.M. required问题排查与解析