hdu 3593 The most powerful force (树形dp+背包)
来源:互联网 发布:姗姗手帐小铺 淘宝 编辑:程序博客网 时间:2024/06/07 06:27
#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#define N 100005using namespace std;int n,g,c[N],val[N],dp[505][10005];vector<int>edge[N];void dfs(int u,int vol){ int i,len=edge[u].size(),v,j; for(i=0;i<len;i++){ v=edge[u][i]; if(edge[v].empty()) { // v is leaf for(j=vol;j>=c[v];j--){ dp[u][j]=max(dp[u][j],dp[u][j-c[v]]+val[v]); } } else{ for(j=vol-c[v];j>=0;j--) dp[v][j]=dp[u][j]; dfs(v,vol-c[v]); for(j=vol;j>=c[v];j--) dp[u][j]=max(dp[u][j],dp[v][j-c[v]]+val[v]); } }}int main(){ while(~scanf("%d%d",&n,&g)){ int i,f; memset(dp,0,sizeof(dp)); for(i=0;i<=n;i++) edge[i].clear(); for(i=1;i<=n;i++){ scanf("%d%d%d",c+i,val+i,&f); if(f==i) edge[0].push_back(i); else edge[f].push_back(i); } dfs(0,g); printf("%d\n",dp[0][g]); } return 0;}
0 0
- HDU 3593 The most powerful force 树形DP(背包)
- hdu 3593 The most powerful force (树形dp+背包)
- 树形DP(3) Hdu3593 The most powerful force (泛化背包)
- HDU 3593The most powerful force 树状dp
- HDU 3593 The most powerful force
- hdu-3593-The most powerful force
- HDOJ 3593 The most powerful force
- 状压dp Most Powerful
- 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 + 01背包)
- 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,树上背包)
- 虚拟机VmWare 无法连接网络
- (六)K-means Clustering and Principal Component Analysis[K-means聚类&主元分析]
- ifarme使用jquery
- [软件测试]三个相同输入框的内容是否为字母,数字
- 多线程中的wait与notify
- hdu 3593 The most powerful force (树形dp+背包)
- hdu2178猜数字(二分法!!)
- JSP九大内置对象之session
- Android入门:利用MediaRecorder和TelephonyManager实现电话窃听器
- C语言——回文串判断
- Android入门:Service入门介绍
- MySQL 主从复制资料汇总
- Grup配置文件修复和恢复grup文件
- Android模拟登陆带验证码的网站客户端