ZOJ 2111 Starship Troopers(树形DP)
来源:互联网 发布:软件配置文件用途 编辑:程序博客网 时间:2024/06/05 17:08
dp[i][j]表示在i结点上放置j个士兵能获得的最多brains数量,注意士兵并不是只能待在一个房间里,他可以把当前房间清理完,但只能往下面走.
dp[i][j]=max(dp[i][j],dp[i][j-k]+dp[v][k])当前位置i上放j个士兵和当前位置上放j-k个士兵,下一个房间放k个士兵的最大值
#include <iostream>#include <cstdio>#include <memory.h>#include <cmath>using namespace std;const int maxn=105;#define mmax(a,b) ((a)>(b)?(a)?(b))struct edge{int v,next;}es[maxn*2];int w[maxn],v[maxn],head[maxn],dp[maxn][maxn],n,m;bool vis[maxn];void dfs(int u,int m){vis[u]=1;for (int i=w[u];i<=m;++i){dp[u][i]=v[u];}for (int ne=head[u];ne!=-1;ne=es[ne].next){int v=es[ne].v;if(!vis[v]){dfs(v,m);for (int j=m;j>=w[u];--j){for (int k=1;j-k>=w[u];++k){dp[u][j]=max(dp[u][j],dp[u][j-k]+dp[v][k]);}}}}}void addEdge(int u,int v,int eidx){es[eidx].v=v;es[eidx].next=head[u];head[u]=eidx;}int main(){while (scanf("%d%d",&n,&m)==2){if (n==-1&&m==-1)break;memset(head,-1,sizeof(head));memset(dp,0,sizeof(dp));memset(vis,0,sizeof(vis));for (int i=1;i<=n;++i){scanf("%d%d",&w[i],&v[i]);w[i]=(int)ceil(w[i]/20.0);}int eidx=0;for (int i=1;i<n;++i){int u,v;scanf("%d%d",&u,&v);addEdge(u,v,eidx++),addEdge(v,u,eidx++);}if(m==0){printf("0\n");continue;}dfs(1,m);printf("%d\n",dp[1][m]);}return 0;}
- ZOJ 2111 Starship Troopers(树形DP)
- zoj 2111 Starship Troopers(树形DP)
- Starship Troopers--树形dp
- HDU1011:Starship Troopers(树形DP)
- HDU1011 Starship Troopers(树形dp)
- 【树形dp】HDU1011-Starship Troopers
- Starship Troopers (树形dp+背包)
- HDU 1011 (ZOJ 2111)Starship Troopers 树形背包
- 【DP】HDU 1011 Starship Troopers 树形DP
- ZOJ2111 HDU1011 Starship Troopers, 树形DP
- hdu 1011 Starship Troopers 树形dp
- 【树形DP+背包】 hdu1011 Starship Troopers
- HDU 1001 Starship Troopers(树形DP)
- hdu 1011 Starship Troopers 树形dp
- hdu 1011 Starship Troopers(树形DP)
- hdu 1011 Starship Troopers 简单树形DP
- hdu 1011 Starship Troopers(树形dp)
- HDU 1011 Starship Troopers (树形DP+背包)
- IOS开发(26)之UITableView的页眉和页脚
- mysql字符串
- SAP HANA 字符函数(二) (SAP HANA String Functions)
- 【重庆邮电大学俱乐部】CSDN会员总结报告汇集
- OpenCV的IplImage图像格式
- ZOJ 2111 Starship Troopers(树形DP)
- 在CentOS系统上静默安装Oracle 11gR2
- android4.0 开启硬件加速后应用运行出错
- Java标识符使用规范
- Berkeley DB (BDB) C语言简单示例
- 使用Action来封装HTTP请求参数
- java计算内存
- centos svn安装及配置与使用
- 通用权限管理设计 之 数据库结构设计