[HDU 1561] The more, The Better 树形dp
来源:互联网 发布:教师网络培训服务平台 编辑:程序博客网 时间:2024/06/15 23:48
http://acm.hdu.edu.cn/showproblem.php?pid=1561
题意:中文题。
思路:树形dp,转移方程:
dp[i][k] = max(dp[i][k], dp[i][k-l]+dp[son][l]);
#include <cstdio>#include <vector>#include <cstring>#include <iostream>using namespace std;int n, m;int val[205];int dp[205][205];vector<int>eg[205];int Dfs(int rt, int pre){ for(int i = 1; i <= m; i++){ dp[rt][i] = val[rt]; } int len = eg[rt].size(); for(int i = 0; i < len; i++){ int son = eg[rt][i]; if(son == pre) continue; Dfs(son, rt); for(int k = m; k > (rt != 0); k--) //因为 0 虚拟根,不需要选 { for(int l = 1; l + (rt != 0) <= k; l++) { if(dp[rt][k] < dp[rt][k-l] + dp[son][l]){ dp[rt][k] = dp[rt][k-l] + dp[son][l]; } } } } return 0;}int main(){ val[0] = 0; while(cin>>n>>m && (m || n)){ int x, y; memset(dp, 0, sizeof(dp)); for(int i = 0; i <= n; i++){ eg[i].clear(); } for(int i = 1; i <= n; i++){ cin>>x>>val[i]; eg[x].push_back(i); } if(m == 0){ cout<<"0"<<endl; continue; } Dfs(0, -1); cout<<dp[0][m]<<endl; } return 0;}
0 0
- 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入门)
- HDOJ (HDU) 1561 The more, The Better (树形DP)
- hdu 1561 The more, The Better 树形DP入门题
- 【树形DP】 HDU 1561 The more, The Better
- hdu 1561 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 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 The more, The Better(树形DP)
- 2015 多校联赛 ——HDU5363(快速幂)
- goxceed
- RTOS 杂谈
- Android代码内存优化建议-Java官方篇
- dfs样板
- [HDU 1561] The more, The Better 树形dp
- 数据挖掘十大经典算法
- poj 3126 Prime Path(bfs)
- day06_方法_20150806
- 最短路
- iOS开发-Day19-OC NSDictionary&NSMutableDictionary&NSSet&NSMutableSet
- TwoSum leetcode
- 1039. Course List for Student (25)
- 最少步数 dfs样板