hdu 2159 FATE (二维完全背包)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159
思路: dp[j][k] 代表消耗耐久度j,干掉k个敌人获得的经验值。
状态转移方程为: dp[j][k] = max(dp[j][k],dp[j-b[i]][k-1]+a[i]);
保存下当获得经验值可以升级时,维护下最小的耐久消耗
实现代码:
#include<bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
int dp[][],a[],b[]; int main()
{
int n,m,h,s;
while(cin>>n>>m>>h>>s){
for(int i = ;i <= h;i ++){
cin>>a[i]>>b[i];
}
memset(dp,,sizeof(dp));
int ans = inf;
for(int i = ;i <= h;i ++){
for(int j = b[i];j <= m;j ++){
for(int k = ;k <= s;k ++){
dp[j][k] = max(dp[j][k],dp[j-b[i]][k-]+a[i]);
if(dp[j][k] >= n) ans = min(ans,j);
}
}
}
if(ans == inf) cout<<"-1"<<endl;
else cout<<m-ans<<endl;
}
}
hdu 2159 FATE (二维完全背包)的更多相关文章
- hdu 2159 FATE (二维完全背包)
		Problem Description 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务.久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级.现 ... 
- HDU 2159 FATE  (二维背包)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 解题报告:这题实际上是一个二维的背包问题,也可以由01背包扩展而来,01背包用一维数组,可想而知 ... 
- HDU 2159 FATE (二维背包)
		题意:中文题. 析:dp[i][j] 已经杀了 i 个怪兽,已经用了 j 体积,所能获得的最大经验值,这个和一维的差不多,只是加一维而已. 代码如下: #pragma comment(linker, ... 
- HDU2159:FATE(二维完全背包)
		Problem Description 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务.久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级.现 ... 
- [hdu2159]FATE二维多重背包(背包九讲练习)
		解题关键:二维约束条件,只需加一维状态即可. 转移方程:$f[j][k] = \max (f[j][k],f[j - w[i]][k - 1] + v[i])$ #include<bits/st ... 
- 杭电 2159 fate(二维背包费用问题)
		FATE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ... 
- HDU 2159  FATE(二维全然背包)
		中文题目就不用解释了 就是裸的二维全然背包 d[i][j]表示消耗i忍耐杀j个怪最多可获得的经验 然后就用全然背包来做了 二维背包背包只是是多了一重循环 <span style=&quo ... 
- HDOJ(HDU).2159 FATE (DP 带个数限制的完全背包)
		HDOJ(HDU).2159 FATE (DP 带个数限制的完全背包) 题意分析 与普通的完全背包大同小异,区别就在于多了一个个数限制,那么在普通的完全背包的基础上,增加一维,表示个数.同时for循环 ... 
- hdu 2159  FATE
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 思路:二维完全背包,状态转移方程为: f[j][l]=max(f[j][l],f[j-b[i]] ... 
- HDU2159 二维完全背包
		FATE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ... 
随机推荐
- 11076: 小P的集合 位运算
			考虑当只有一个数出现奇数次的时候,我们可以很轻松的知道,把所有的数异或和即可,因为异或运算有一个非常有意思的性质,a^b^a=b 考虑当有两个数(a,b)出现奇数次的时候,我们异或和得到,num=a^ ... 
- hybrid App cordova打包webapp PhoneGap
			Hybrid APP基础篇(一)->什么是Hybrid App APP三种开发模式--之--HybridApp解决方案 Hybrid App开发 四大主流平台分析 Hybrid App 开发模式 ... 
- 448C - Painting Fence(分治)
			题意:给出宽为1高为Ai的木板n条,排成一排,每次上色只能是连续的横或竖并且宽度为1,问最少刷多少次可以使这些木板都上上色 分析:刷的第一步要么是所有的都竖着涂完,要么是先横着把最矮的涂完,如果是第一 ... 
- CentOS 7从Python 2.7升级至Python3.6.1
			引言: CentOS是目前最为流行的Linux服务器系统,其默认的Python 2.x,但是根据python社区的规划,在不久之后,整个社区将向Python3迁移,且将不在支持Python2, 那该如 ... 
- pip国内镜像
			[国内镜像] 中国科学技术大学 : https://pypi.mirrors.ustc.edu.cn/simple 清华:https://pypi.tuna.tsinghua.edu.cn/simpl ... 
- 解决scrapy报错:ModuleNotFoundError: No module named 'win32api'
			ModuleNotFoundError: No module named 'win32api' 表示win32api未安装 解决办法: 下载对应python版本的win32api,并安装. 下载地址: ... 
- 正则校验:微信号,qq号,邮箱
			java判断微信号.手机.名字的正则表达 - willgos - 博客园https://www.cnblogs.com/solossl/p/5813106.html 微信号正则校验,qq正则,邮箱正则 ... 
- JavaMail入门第一篇 邮件简介及API概述
			现如今,电子邮件在我们的生活当中扮演着越来越重要的角色,我们每个人几乎都会与其打交道(至少时不时我们都会接收到莫名其妙的垃圾邮件),在工作中,使用邮件进行交流沟通,可以使我们的工作有迹可循,也显的较为 ... 
- linux audit审计(2)--audit启动
			参考:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec- ... 
- 老男孩python学习自修第二十一天【socket】
			1. 使用python编写一个静态的web服务器,能够处理静态页面的http请求 原理: a. 使用socket进行服务端和浏览器之间的通信 b. 使用多线程处理多个客户端浏览器的请求 c. 解析用户 ... 
