LOL系列之蒙多的春天
Time Limit: 1000 ms   Case Time Limit: 1000 ms   Memory Limit: 64 MB
Description
蒙多最近运气太好了- -,对面怒送一血,抢大龙,小龙,然后各种五杀(蒙多都能五杀,运气不能更好),瞬间超神,小小的钱袋里一下子有好多钱,好开心~,但是他在纠结该买些什么装备才能对团队贡献大,所以他跑来请教你。as we know ,在游戏里我们最多同时拥有6件装备,所以蒙多不能购买超过6件装备。现在有N种不同的装备供蒙多选择,蒙多手上有M单位的钱,每种装备最多只能买一个,每件装备有不同的价格Ai,对团队的贡献度为Bi,请帮助蒙多购买装备使得他对团队贡献值总和最大。
Input
输入包括多组数据,以文件(EOF)结束。
第一行两个整数N(1<=N<=100),M(1<=M<=1000)。
接下来N行,每行两个整数Ai(1<=Ai<=100),Bi(1<=Bi<=1000)。
Output
每组数据一个整数,表示最大贡献度。
Sample Input
Original Transformed
1 5
6 2
3 5
3 3
5 4
4 1
Sample Output
Original Transformed
0
4

————————————————————————————————————————————————————————

题意:对于01背包,增加了一个限制,那就是背包中物品个数不超过6。

思路:这就是二维费用的背包问题,增加一维表示状态其实就好了。仍然逆序循环降低一维。

代码如下:

#include <cstdio>
#include <cstring>
#define Mem(f, x) memset(f, x, sizeof(f))const int N = 1111;
int n, m;
int dp[N][7];int main()
{while(~scanf("%d%d", &n, &m)) {int ai, bi;Mem(dp, 0);//dp[j][k] = max{dp[j][k], dp[j-c][k-d] + w}for(int i = 0; i < n; i++) {scanf("%d%d", &ai, &bi);for(int j = m; j >= ai; j--) {for(int k = 6; k > 0; k--) {if(dp[j][k] < dp[j-ai][k-1] + bi) {dp[j][k] = dp[j-ai][k-1] + bi;}}}}printf("%d\n", dp[m][6]);}return 0;
}

【DP|01背包】AHU-603 LOL系列之蒙多的春天相关推荐

  1. Codeforces Round #104 (Div. 2) E DP(01背包模型) +组和+除法取模求逆元

    题意: 规定只包含4或7的数为幸运数字,给定n个数的序列,求他的子序列,使得该子序列的长度为k并且满足该子序列中不存在相同的两个幸运数字.问一共寻在多少种可能.(只要该数的下标不同则认为是不同的序列) ...

  2. DP(01背包) UESTC 1218 Pick The Sticks (15CCPC C)

    题目传送门 题意:长度为L的金条,将n根金棍尽可能放上去,要求重心在L上,使得价值最大,最多有两条可以长度折半的放上去. 分析:首先长度可能为奇数,先*2.然后除了两条特殊的金棍就是01背包,所以dp ...

  3. ☆【UVA - 624 】CD(dp + 0-1背包 + 记录路径)

    题干: You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music ...

  4. HDU 1864 最大报销额 (dp 01背包)

    最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  5. 最大报销额 HDU - 1864(DP+01背包)

    最大报销额 HDU - 1864 点击跳转↑ 题设:多组输入,每组输入一对Q和N,分别代表当前的公费,和需要报销的账单总数.接下来N行,每行开始一个m,接下来是m项物品的名称和价格.求:在所有符合报销 ...

  6. [DP][01背包]积木城堡

    动态规划 积木城堡 时间限制: 1 Sec 内存限制: 128 MB 题目描述 XC的儿子小XC最喜欢玩的游戏用积木垒漂亮的城堡.城堡是用一些立方体的积木垒成的,城堡的每一层是一块积木.小XC是一个比 ...

  7. 洛谷P1504 积木城堡【DP+01背包】【黄】

    Date:2022.02.27 题目描述 XC 的儿子小 XC 最喜欢玩的游戏用积木垒漂亮的城堡.城堡是用一些立方体的积木垒成的,城堡的每一层是一块积木. 小 XC 是一个比他爸爸 XC 还聪明的孩子 ...

  8. 强壮的ZZW (一维dp 01背包)

    题目描述 ZZW神牛想要通过吃东西变得强壮!于是他买了N(1<=N<=4000)件食物,每件食物有自己的体积V(1<=V<=400),以及可以为ZZW增加的强壮度D(1< ...

  9. HDU 2602 Bone Collector DP(01背包)

    Bone Collector Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Desc ...

最新文章

  1. IDEA中Git操作
  2. vue前端服务器端口_解密智联招聘的大前端架构 Ada
  3. CrystalDecisions.CrystalReports.Engine.LoadSaveReportException:載入報表失敗6/25
  4. SQL Server 文件规划 -位置规划
  5. opensource项目_宣布2016年Opensource.com社区奖获奖者
  6. 匿名内部类 可以访问外部类_Java 内部类与外部类的互访使用小结
  7. php编写程序计算积分_PHP论坛实现积分系统的思路代码详解
  8. 图的存储结构-十字链表
  9. SQL注入原理,啊D明小子高手必看! 明小子4.1我已上传 可以下载
  10. matlab 三对角矩阵 追赶法,追赶法求解三对角方程及其算例.doc
  11. 自动驾驶笔记-轨迹跟踪-综述
  12. 5.ViewPage2使用及坑点解决
  13. android 设置屏幕亮度,android 怎样设置屏幕亮度
  14. oBlog 4.0 正式版 2006-09-06
  15. Android桌面插件宽度,android 屏幕适配插件
  16. 西瓜书-机器学习复习<HENU>
  17. 角谷猜想:所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘 3 加 1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到 1。如假定初始整数为 5,计算过程分别为 16、
  18. ORA-00054问题解决
  19. CISCO和华为交换机修改密码
  20. 基于人工智能的软件测试

热门文章

  1. 2021.12.9 学习总结
  2. Jenkins部署Java web应用极简指南
  3. adc去质器什么意思_ADC后期伤害爆炸?这几个英雄轻松制裁,ADC去质器了解一下...
  4. 2015年4月1日愚人节--怀念张国荣
  5. [附源码]java+ssm计算机毕业设计基于java的信访管理系统64esx(源码+程序+数据库+部署)
  6. NG-ZORRO-MOBILE 抽屉遮罩层点击关闭抽屉
  7. C语言的面向对象设计 —— 对 X264/FFMPEG 架构探讨——胜读十年书
  8. 龙之翼java游戏_龙之翼游戏下载
  9. linux遍历目录删除指定文件,利用shell脚本遍历文件夹内所有的文件并作整理统计的方法-linux删除文件夹...
  10. 周星驰《一本漫画闯天涯》看程序员悲剧人生