hdu 2159 FATE
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159
思路:二维完全背包,状态转移方程为: f[j][l]=max(f[j][l],f[j-b[i]][l-1]+w[i]); a[i]表示杀死第i个怪所得的经验值,b[i]表示消耗的忍耐度
1 #include<stdlib.h> 2 #include<time.h> 3 #include <cstdio> 4 #include <cstring> 5 #include <cmath> 6 #include <cstdlib> 7 #include <ctime> 8 #include <iostream> 9 #include <algorithm> 10 #include <vector> 11 #include <queue> 12 #include <map> 13 #include <set> 14 #include <string> 15 using namespace std; 16 17 18 int dp[100][100]; 19 20 int main() 21 { 22 int a[100],b[100]; 23 int n,m,k,s; 24 int i,j,l,locate,flag; 25 while(scanf("%d %d %d %d",&n,&m,&k,&s)!=EOF) 26 { 27 memset(dp,0,sizeof(dp)); 28 for(i=0;i<k;i++) 29 { 30 scanf("%d %d",&a[i],&b[i]); 31 } 32 for(i=0;i<k;i++) 33 { 34 for(j=b[i];j<=m;j++) 35 { 36 for(l=1;l<=s;l++) 37 dp[j][l]=max(dp[j][l],dp[j-b[i]][l-1]+a[i]); 38 } 39 } 40 flag=0; 41 for(i=0;i<=m;i++) 42 { 43 if(flag) 44 break; 45 for(j=0;j<=s;j++) 46 { 47 if(dp[i][j]>=n) 48 { 49 locate=i; 50 flag=1; 51 break; 52 } 53 } 54 } 55 if(flag) 56 printf("%d\n",m-locate); 57 else 58 printf("-1\n"); 59 } 60 return 0; 61 }
转载于:https://www.cnblogs.com/pter/p/4915701.html
hdu 2159 FATE相关推荐
- HDU 2159 FATE 动态规划二维费用的背包问题
http://acm.hdu.edu.cn/showproblem.php?pid=2159 题意: 给出的n , m , k ,s 分别代表还需n经验升级.还有m耐久度.下面有k组数据.最多能杀s只 ...
- HDU 2159 FATE【二维完全背包】
题目链接:https://vjudge.net/problem/HDU-2159 FATE ...
- hdu 2159 FATE 二维背包
FATE Time Limit: 2000/1000 MS ...
- HDU 2159 FATE (DP 二维费用背包)
题目链接 题意 : 中文题不详述. 思路 : 二维背包,dp[i][h]表示当前忍耐值为i的情况下,杀了h个怪得到的最大经验值,状态转移方程: dp[i][h] = max(dp[i][h],dp[i ...
- 二维费用 hdu 2159 FATE(完全背包)HDU OJ 4501 小明系列故事——买年货【DP】
二维费用的背包问题是指:对于每件物品,具有两种不同的费用:选择这件物品必须同时付出这两种代价:对于每种代价都有一个可付出的最大值(背包容量).问怎样选择物品可以得到最大的价值.设这两种代价分别为代价1 ...
- FATE HDU - 2159(二维完全背包)
限制条件: 1.忍耐度 m 2.杀怪个数 s 构造: dp[m][s] 得到的经验值 Time limit 1000 ms Memory limit 32768 kB ...
- 动态规划总结与题目分类
源博客链接:http://blog.csdn.net/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少 ...
- 『ACM-算法-动态规划』初识DP动态规划算法
一.多阶段决策过程的最优化问题 在现实生活中,有类活 动的过程,由于 它的特殊性,可将过程分成若干个互相阶段.在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果.当阶段决策的选取不是任意确 ...
- (转)dp动态规划分类详解
dp动态规划分类详解 转自:http://blog.csdn.NET/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间 ...
- 《动态规划》— 动态规划分类
动态规划(英语:Dynamic programming,DP)是一种在数学.计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法. 动态规划常常适用于有重叠子问题和最 ...
最新文章
- linux安装硬盘命令,硬盘安装linux的两条命令
- 关于java反射机制(基础篇)
- SQL点滴20—T-SQL中的排名函数
- Pattern-No.07 设计模式之单例模式
- 如何通过软件项目开发来提高自身的实力。
- 谷歌翻译无法连接网络_window10无法连接网络
- java tostring格式_如何在Java中使用toString()获得数字的字符串表示形式?
- java 奇数 字符乱码_socket中文奇数个出现乱码的解决办法
- 机器学习时会发生什么
- php盘古分词,百度分词技术_百度输入法分词怎么关_百度分词原理
- 【计算机·科技】互联网的黑科技来啦
- PYTHON实现机械臂运动检测
- 使用Python中的matplotlib将多个图片显示到一张图内
- Apache Druid(二、架构设计)
- CODING 代码资产安全系列之 —— 构建全链路安全能力,守护代码资产安全
- css和html是什么关系,css是什么,CSS和HTML有什么关系
- 【财务学习笔记】ROE和ROI的比较
- ArcGIS自制符号库、兴趣点符号库、poi符号库
- a different object with the same identifier value was already associated with异常解决
- 400KN液压绞车开题报告
热门文章
- CS224N刷题——Assignment3.2_Recurrent neural nets for NER
- jenkins 2.121.1 部署项目
- 用PHP做服务器接口客户端用http协议POST访问安全性一般怎么做
- 回忆一次面试Android研发的问题
- 能大大提升工作效率和时间效率的9个重要习惯
- Flash研究(一)——本地通讯
- Params属性的用法 (beginner)
- pooling层如何反向传播? 很简单
- 1.9 Important Themes(一些重要的概念)
- 线性代数知识荟萃(4)——矩阵相抵