hdu 4044 树形DP
来源:互联网 发布:access创建表的sql语句 编辑:程序博客网 时间:2024/06/11 15:16
这题写的我好纠结啊,过程中各种思路混乱,树P太弱了。。。dp[i][j]表示到i节点为根的子树有j元能得到的最小伤害的最大值,转移的话就是个一维背包,我是先做子树最后处理这个节点本身的权值的,需要注意price为0的节点,这地方坑了我两次,每个节点有多少钱的时候最多能得到多少伤害需要预处理出来。
#include<cstdio>#include<iostream>#include<cstring>#include<vector>#define N 1005using namespace std;vector<int>e[N];vector<pair<int,int> >p[N];int dp[N][205],kk[N],ok[N][205];int n,m;void dfs(int u,int fa){ int flag = 0; for(int i = 0; i<e[u].size(); i++) { int v = e[u][i]; if(v == fa)continue; dfs(v,u); if(flag == 0) { for(int j = 0;j<=m;j++) dp[u][j] = dp[v][j]; flag = 1; continue; } for(int j = m; j>=0; j--) { dp[u][j] = min(dp[u][j],dp[v][0]); for(int k = 1; k<=j; k++) dp[u][j] = max(dp[u][j],min(dp[u][k],dp[v][j-k])); } } for(int i = m;i>=0;i--) { int Max = 0; for(int j = 0; j<=i; j++) Max = max(dp[u][j]+ok[u][i-j],Max); dp[u][i] = max(dp[u][i],Max); }}int main(){ int t,i,j,k; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i = 1; i<=n; i++) { e[i].clear(); p[i].clear(); } for(i = 1; i<n; i++) { int u,v; scanf("%d%d",&u,&v); e[u].push_back(v); e[v].push_back(u); } memset(ok,0,sizeof(ok)); scanf("%d",&m); for(i = 1; i<=n; i++) { scanf("%d",&kk[i]); for(j = 1; j<=kk[i]; j++) { int x,y; scanf("%d%d",&x,&y); for(k = 0;k<=m;k++)if(x<=k)ok[i][k] = max(ok[i][k],y); p[i].push_back(make_pair(x,y)); } } memset(dp,0,sizeof(dp)); dfs(1,-1); printf("%d\n",dp[1][m]); } return 0;}
- hdu 4044 树形dp
- hdu 4044 树形DP
- hdu 4044 树形DP
- hdu 4044 GeoDefense(DP-树形DP)
- hdu 4044 GeoDefense 树形dp+分组背包
- hdu 4044 GeoDefense 树形dp+分组背包
- HDU 4044 GeoDefense 树形DP+分组背包
- hdu 4044 GeoDefense 树形DP+分组背包
- HDU 4044 GeoDefense(树形dp+分组背包)
- HDU 4044 GeoDefense 树形dp:树形背包★
- 树形dp hdu Computer
- 【树形DP】hdu 1520
- hdu 1054 #树形DP
- hdu 4303 树形dp
- hdu 4340 树形dp
- hdu 4340 树形DP
- HDU 4340 树形DP
- hdu 4267 树形dp
- 64位Win7中导入excel提示“因为 OLE DB 访问接口 'MICROSOFT.JET.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。”
- Atmega48 eeprom调试代码
- show innodb status 的实际拓展
- paip.最省内存的浏览器评测 cah
- 结构体垃圾回收静态成员
- hdu 4044 树形DP
- How To Install Wordpress with nginx on Ubuntu 12.04
- 四元数-Quaterion
- 什么是模型?什么是建模?
- DirectX 性能优化
- java中图片和Base64互相转换源码
- [LeetCode] LRU Cache
- hibernate的环境搭建
- 资源池设计模式 (Resource Pool)和数据池的简单实现