HDOJ 1561 The more, The Better(树形DP)
来源:互联网 发布:淘宝店铺模板什么格式 编辑:程序博客网 时间:2024/05/22 03:11
在树上做背包。
学到一点:如果想要处理的是树,但是题目中给的是森林的话,可以加一个总的根结点。
A 掉 1011 之后这题就比较顺利的 1A 了。
代码:
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 220, inf = 0x3f3f3f3f;int n, m;int fr[maxn * 2], to[maxn * 2], head[maxn], next[maxn * 2];int val[maxn], dp[maxn][maxn];bool vis[maxn];bool read(){ if(!(~scanf("%d%d", &n, &m) && (n || m))) return 0; int ecnt = 0; memset(head, -1, sizeof(head)); //memset(isrt, false, sizeof(isrt)); for(int i = 1; i <= n; i++) { int a; scanf("%d%d", &a, &val[i]); fr[ecnt] = a;///0 to[ecnt] = i; next[ecnt] = head[a]; head[a] = ecnt; ecnt++; } return 1;}void dfs(int cur){ vis[cur] = true; for(int i = 1; i <= m+1; i++) dp[cur][i] = val[cur]; for(int i = head[cur]; ~i; i = next[i]) { int tar = to[i]; if(vis[tar]) continue; dfs(tar); for(int j = m+1; j > 0; j--) for(int k = 1; k < j; k++) dp[cur][j] = max(dp[cur][j], dp[cur][j-k] + dp[tar][k]); }}void solve(){ memset(dp, 0, sizeof(dp)); memset(vis, false, sizeof(vis)); dfs(0); printf("%d\n", dp[0][m+1]);}int main(){ while(read()) { solve(); } return 0;}
0 0
- HDOJ The more, The Better 树形DP
- HDOJ 1561 The more, The Better (树形DP)
- HDOJ (HDU) 1561 The more, The Better (树形DP)
- HDOJ 1561 The more, The Better(树形DP)
- hdoj 1561 The more, The Better 【树形dp + 01-背包】【入门】
- HDU1561 The more,The better 树形DP
- HDU1561 树形DP The more, The Better
- HDU1561 The more, The Better(树形dp)
- [hdu1561] The more, The Better 【树形DP】
- 【树形DP】HDU1561-The more, The Better
- hdu1561 The more, The Better--树形dp
- hdu1561 the more , the better 树形dp
- hdu 1561 The more, The Better (树形DP)
- hdu 1561 The more, The Better 树形DP+背包
- hdu 1561 The more, The Better(树形dp)
- hdu 1561 (树形dp)The more, The Better
- HDU 1561 The more, The Better(树形DP)
- hdu 1561 The more, The Better(树形DP入门)
- 高精度加减乘除类的实现
- unix高级环境编程 例子 代码实现练习 第十章:信号
- R中的数据结构
- DevExpress 汉化(简单、实用、快速) 转
- eclipse 常用快捷键
- HDOJ 1561 The more, The Better(树形DP)
- 第二周作业
- 浅谈Android五大布局(二)——RelativeLayout和TableLayout
- Exercise 17:更多文件操作
- SQL SERVER 触发器
- 读取jpg文件的exif信息
- 代码设置maxLength属性
- cocos2d-x 2.2.2 版新建项目
- 安卓调用WebService(ksoap2)