HDOJ 2159 FATE
来源:互联网 发布:怎么让胃变小 知乎 编辑:程序博客网 时间:2024/06/06 08:35
状态表示:d(i,j,k) 表示 前i个怪兽,在 j 耐力下,在 k 最大怪物数下,最多经验值
状态转移:d(i,j,k) --> max(d(i-1,j-V*n,k-n)+W*n , n∈(1~k))
利用滚动数组 并不一定需要一维 i 来一记录第几个怪物,所以只需要二维数组保存
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm> using namespace std;const int maxn=100+5;int d[maxn][maxn]; //d(i,j) i耐力,j怪物数 下最多经验值 int main(){int n,m,k,s;int W,V;while(scanf("%d%d%d%d",&n,&m,&k,&s)!=EOF){memset(d,0,sizeof(d));int ans=-1;for(int i=1;i<=k;i++){cin>>W>>V;for(int j=0;j<=m;j++) //耐力for(int l=s;l>=1;l--) //怪物数if(j>=V) {d[j][l]=max(d[j][l],d[j-V][l-1]+W);if(d[j][l]>=n) ans=max(ans,m-j);}}printf("%d\n",ans);} return 0;}
0 0
- HDOJ 2159 FATE
- HDOJ 2159 FATE
- HDOJ-2159 FATE
- HDOJ 2159 FATE
- HDOJ-2159 FATE
- HDOJ 2159 FATE
- HDOJ 2159 FATE
- HDOJ 2159 FATE
- HDOJ 2159-FATE【完全背包】
- HDOJ 2159 FATE (二维背包)
- HDOJ 2159 FATE (二维完全背包)
- HDOJ 2159 FATE (二维多重背包)
- HDOJ FATE 二维DP
- HDOJ 题目2159FATE(二维完全背包)
- HDOJ 题目2159 FATE(二维多重背包)
- 暑期dp46道(35)--HDOJ 2159 FATE 背包问题
- HDOJ(HDU).2159 FATE (DP 带个数限制的完全背包)
- HDOJ 3646 Fate Stay Night (DP)
- 【前端福利】用grunt搭建自动化的web前端开发环境-完整教程
- 如何下载之前版本的xcode
- Linux C利用Socket套接字进行服务器与多个客户端进行通讯
- Android Studio git环境配置
- DOM中为事件添加事件处理程序的几种方式以及跨浏览器方式
- HDOJ 2159 FATE
- android send key event
- Read the Last line in a file
- html form
- 国内Android应用分析报告,看看大家都在用什么开发
- CentOS安装JDK1.7
- Linux下获取软件源码的几种方法
- Python数字
- 匿名函数和闭包