HDU 2159 FATE【二维完全背包】
题目链接:https://vjudge.net/problem/HDU-2159
FATE
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17569 Accepted Submission(s): 8250
#include <iostream> #include <cstring> #include <algorithm> using namespace std; int dp[110][110]; //dp[j][u]为最多杀j个怪且忍耐度最多为u时所能获得的最多经验int main() {int n, m, s, k;while (cin >> n >> m >> k >> s){int a[110], b[110];for (int i = 0; i < k; i++)cin >> a[i] >> b[i];memset(dp, 0, sizeof(dp)); int x; int min = 0x3ffff;bool fp = false;for (int i = 0; i < k; i++){for (int j = 1; j <= s; j++) //以下这两重循环为二维费用背包的两个限制条件,由于每种怪物有无数种,所以是正序(完全背包) {for (int u = b[i]; u <= m; u++){ //其实将dp数组写成三维的更好理解,dp[i][j][u]杀前i种怪最多杀j个且忍耐度最多为u所能获得的最大经验dp[j][u] = max(dp[j][u], dp[j - 1][u - b[i]] + a[i]); //其实可以将二维费用的形式和01背包的联系起来,更方便理解和记忆 if (dp[j][u] >= n&& min>u) { min = u; //因为要在保证升级的情况下,使剩下的忍耐度尽可能的大fp = true; }}}}if (fp)cout << m - min << endl;elsecout << "-1" << endl;}return 0; }
转载于:https://www.cnblogs.com/00isok/p/9047654.html
HDU 2159 FATE【二维完全背包】相关推荐
- FATE HDU - 2159(二维完全背包)
限制条件: 1.忍耐度 m 2.杀怪个数 s 构造: dp[m][s] 得到的经验值 Time limit 1000 ms Memory limit 32768 kB ...
- hdu 2159 FATE 二维背包
FATE Time Limit: 2000/1000 MS ...
- 第五讲 二维费用的背包问题 HD FATE(二维完全背包)
FATE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 背包模型dp2之二维费用背包
二维费用背包 状态表示:f[i][j][k]所有只从前i个物体中选,并且总体积不超过j,总重量不超过k的选法状态表示:f[i][j][k]所有只从前i个物体中选,并且总体积不超过j,总重量不超过k的选 ...
- 【洛谷 - P1507 】NASA的食物计划(二维费用背包,dp)
题干: 题目背景 NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力下终止了航天飞机的历史,但是此类事情会不会在以后发生,谁也无法保证,在遇到这类航天问题时, ...
- UVA 10306 e-Coins(二维完全背包)
题意: 有n种物品,每种物品有两种价值x和y,并且每种物品的个数不限,求(x1 + x2 + -)^2 + (y1 + y2 + -) ^2 == S ^ 2 思路: 因为每种物品任意个,所以是二维完 ...
- UVA10306 - e-Coins(二维完全背包)
题意:有n个物品,每个物品有两种价值x, y,每个物品的个数不限,求出(x1 + x2 + ...)^2 + (y1 + y2 + ...) ^2 == S ^ 2 思路:二维完全背包,因为物品个数不 ...
- 一本通 1271:【例9.15】潜水员(二维费用背包)
[题目描述] 潜水员为了潜水要使用特殊的装备.他有一个带2种气体的气缸:一个为氧气,一个为氮气.让潜水员下潜的深度需要各种的数量的氧和氮.潜水员有一定数量的气缸.每个气缸都有重量和气体容量.潜水员为了 ...
- 【python】一篇讲透背包问题(01背包 完全背包 多重背包 二维费用背包)
面对背包问题,有一个很重要的方程式:状态转移方程式 所以每一种背包问题我都会给出状态转移方程式 #01背包 什么是01背包型问题? 先给大家感受一下01背包型问题: 给定n种物品和一背包.物品i的重量 ...
最新文章
- 多角度人脸识别简单介绍
- opencv-python 9.4 拆分及合并图像通道
- Thymeleaf文档
- php中进制转换,php中进制转换
- Windows 服务(附服务开发辅助工具)
- webpack 4.0 配置文件 webpack.config.js文件的放置位置
- 『软件工程12』软件工程实践方法——软件测试
- APIGEE – API网关简介
- c# 找出目录下的所有子目录_C# 基础知识系列- 14 IO篇 文件的操作(2)
- 数学系鄙视物理系的经典桥段,全部看懂了算我输!
- 均值已知检验方差_方差分析
- sql截去最后一位_数据技能篇(EXCEL,SQL,Python)
- 2020 第十一届蓝桥杯大赛软件赛省赛(第一场),C/C++大学B组题解
- HFS远程命令执行漏洞入侵抓鸡黑阔服务器
- 生成大量随机数(c语言)
- 拓展显示器分辨率模糊(亲测,超级有用)
- 生成 8 / 16 / 32 位的UUID
- MySQL高可用和灾备调研
- 微信小程序获取urlScheme地址Python版
- jstree使用教程