题意:小智有N个精灵球,皮卡丘有M的初始体力,有K个野生小精灵。要收服尽可能多的野生小精灵,并使皮卡丘的剩余体力最大。

解法:01背包问题,增多一维来存第二个条件。f[i][j][k]表示抓前i个野生小精灵,用了j个精灵球,耗费了k的体力时能抓的最多的小精灵数。(我把[i]的那维简化掉了,PG里的m代替N,v代替M,n代替K。)

 1 #include<cstdio>
2 #include<cstdlib>
3 #include<cstring>
4 #include<iostream>
5 using namespace std;
6 #define INF 1e6
7
8 int a[110],b[110];
9 int f[1010][510];
10
11 int main()
12 {
13 int m,v,n;
14 scanf("%d%d%d",&m,&v,&n);
15 for (int i=1;i<=n;i++)
16 scanf("%d%d",&a[i],&b[i]);
17 int mx=0,ans=0;
18 memset(f,0,sizeof(f));
19 for (int i=1;i<=n;i++)
20 for (int j=m;j>=a[i];j--)
21 for (int k=v;k>=b[i];k--)
22 {
23 f[j][k]=max(f[j][k],f[j-a[i]][k-b[i]]+1);
24 if (f[j][k]>mx||(f[j][k]==mx && v-k>ans)) mx=f[j][k],ans=v-k;
25 }
26 if (!mx) ans=v;
27 printf("%d %d\n",mx,ans);
28 return 0;
29 }

最新文章

  1. WCF+Restfull服务 提交或获取数据时数据大小限制问题解决方案
  2. input checkbox 扩大点击范围
  3. 磁盘IO的性能指标
  4. 二、JavaScript语言--JS基础--JavaScript进阶篇--事件响应
  5. LightOJ 1422 (区间DP)
  6. 连接mysql遇到的问题
  7. FSMC stm32
  8. (C/C++) Interview in English - Basic concepts.
  9. Yii系列教程(二):功能简介
  10. POJ3264 Balanced Lineup 线段树区间最大值 最小值
  11. 【MINA】用protobuf做编解码协议
  12. Oracle 使用命令导入dmp文件
  13. Redis事务管理
  14. 解决Android模拟器卡慢的问题
  15. 题解 P1601 【A+B Problem(高精)】
  16. 微信浏览器里在底部的输入框,ios11的不会被遮盖、10.1会被盖住
  17. Docker虚拟机理论
  18. mysql索引hash索引和b-tree索引的区别
  19. memtrack: Couldn&#39;t load memtrack module (No such file or directory) 的问题解决
  20. WebBench压力测试工具

热门文章

  1. LeetCode220 存在重复元素 III
  2. pip不是内部或外部命令解决方法
  3. 区间合并 C++
  4. Java进阶专题(二十一) 消息中间件架构体系(3)-- Kafka研究
  5. 【MySQL】ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing
  6. cut和tr命令的联合使用
  7. 3A限流IC,带短路保护,PW1503和PW1502
  8. ichartjs测试dome分享
  9. Nifi组件脚本开发—ExecuteScript 使用指南(一)
  10. Centos 安装postgreSQL9.4.3