HDU 1561 The more ,The Better
The more, The Better
Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4960 Accepted Submission(s): 2927
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
using namespace std;
#define MAX 205
vector<int> adj[MAX];
int f[MAX][MAX],tot[MAX],weight[MAX];
int m;
int max(int a,int b)
{return a>b?a:b;
}
int DFS(int u)
{tot[u]=1;f[u][1]=weight[u];int i,j,k,v;for(i=0;i<adj[u].size();i++){v=adj[u][i];tot[u]+=DFS(v);}for(i=0;i<adj[u].size();i++){v=adj[u][i];for(j=tot[u];j>=1;j--){for(k=1;k<j&&k<=tot[v];k++)f[u][j]=max(f[u][j],f[u][j-k]+f[v][k]);}}return tot[u];
}
int main()
{int n,i,u;while(~scanf("%d%d",&n,&m)&&(n+m)){for(i=0;i<=n;i++)adj[i].clear();for(i=1;i<=n;i++){scanf("%d%d",&u,&weight[i]);adj[u].push_back(i);}memset(f,0,sizeof(f));m++;DFS(0);printf("%d\n",f[0][m]);}return 0;
}
HDU 1561 The more ,The Better相关推荐
- HDU 1561 The more, The Better (树形DP,常规)
题意:给一个森林,n个节点,每个点有点权,问若从中刚好选择m个点(选择某点之前必须先选择了其父亲),使得这m个点权之和最大为多少? 思路: 比较常规.就是DFS一次,枚举在子树中可能选择的k个点(注意 ...
- 【HDU - 1561】The more, The Better(树形背包,dp,依赖背包问题与空间优化,tricks)
题干: ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物.但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城 ...
- HDU 1561 The more, The Better
http://acm.hdu.edu.cn/showproblem.php?pid=1561 树形dp+有依赖的背包.==分组背包. 思路: 思路:参考<背包九讲> 分组背包:将物品分成k ...
- hdu 1561 The more, The Better 树形dp
http://acm.hdu.edu.cn/showproblem.php?pid=1561 做树形dp比较小. 先上网学习下,总结下套路. dp[i][j]表示在第i个节点,有j个名额选的时候的最大 ...
- HDU 1561 The more, The Better (树形dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1561 题意不讲了,中文. 树形背包,可以以0为总root,m++.dp[i][j] 表示以i节点为ro ...
- hdu 1043 Eight 搜索,哈希
很早之前做过,总结一下康拓展开哈希大法.当初要是懂了这玩意北京网赛那题一定能出.... http://acm.hdu.edu.cn/showproblem.php?pid=1043题目链接 http: ...
- hdu 3395(费用流,二分图的最大权匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3395 解题思路: 这个构图很容易出错,最开始都容易想,把每个点拆开,分为攻击和被攻击的,建图如下: 源 ...
- hdu 5230(整数划分,dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5230 解题思路: 这是一个整数划分的模型: 将n划分为k个整数的划分数 设dp[i][j]为将i划分为 ...
- HDU(1572),最短路,DFS
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1572 很久没写深搜了,有点忘了. #include <iostream> #include ...
最新文章
- python用merge匹配和左连接_左手用R右手Python系列——数据合并与追加
- 记录一下halcon例程报错和两个视觉库感兴趣区域绘制
- mysql服务remove失败_《MySQL数据库》MySql简介、下载与安装
- jquery.zclip轻量级复制失效问题
- 1177:奇数单增序列
- 移动VS.NET2010帮助文档
- FSR 是提高性能和视觉效果
- bash复杂脚本解释
- 如何查询OS、CPU、内存、硬盘信息
- 魔兽世界提取CG最新教程
- C++视频教程资源链接合集
- 利用pytesseract进行图片文字识别
- msf介绍及其常用模块
- vxlan报文 wireshark_VXLAN原理_ISIS、BGP、MPLS v隧道、QOS 技术精讲(肖哥)_华为认证视频-51CTO学院...
- 用java实现查询年份的生肖
- Java中IO的快速复习(代码+注释)
- Auto CAD2004完全笔记
- 微众银行积极参与公益事业 发扬志愿者精神
- 前端工程师就业班Sass基础+进阶+案例开发经验【JS++前端】-艾小野-专题视频课程...
- 宅急送 项目第八天 JBPM工作流框架