题目大意:给你n张电影门票,但一次只可以买m张,并且你最多可以看L分钟,接下来是n场电影,每一场电影a分钟,b价值,要求恰好看m场电影所得到的最大价值,要是看不到m场电影,输出0。

三个限制:

  1. 选电影门票的范围;
  2. 总共观看的时间;
  3. 买的票数严格为m。

因此,将第一维滚动处理,第二三维初值负无穷(因为是严格为m),倒序递推,最后取DP[m]中的最大值即可。

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; const int MAX_OBJ = , MAX_V = , MAX_CNT = MAX_OBJ;
//DP(obj, v, cnt)=max{DP(obj-1, v, cnt), DP(obj-1, v-objV[obj], cnt-1)+objW[obj]}
int DP(int totV, int totObj, int totCnt, int *objV, int *objW)
{
static int DP[MAX_CNT][MAX_V];
memset(DP, 0xcf, sizeof(DP));
DP[][] = ;
for (int obj = ; obj <= totObj; obj++)
for (int cnt = totCnt; cnt >= ; cnt--)
for (int v = totV; v >= ; v--)
if (v >= objV[obj])
DP[cnt][v] = max(DP[cnt][v], DP[cnt - ][v - objV[obj]] + objW[obj]);
int ans = ;
for (int v = ; v <= totV; v++)
ans = max(ans, DP[totCnt][v]);
return ans;
} int main()
{
#ifdef _DEBUG
freopen("c:\\noi\\source\\input.txt", "r", stdin);
#endif
static int objV[MAX_OBJ], objW[MAX_OBJ];
int T, totObj, objLimit, totV;
scanf("%d", &T);
while (T--)
{
memset(objV, , sizeof(objV));
memset(objW, , sizeof(objW));
scanf("%d%d%d", &totObj, &objLimit, &totV);
for (int i = ; i <= totObj; i++)
scanf("%d%d", i + objV, i + objW);
printf("%d\n", DP(totV, totObj, objLimit, objV, objW));
}
return ;
}

最新文章

  1. 前端福利!10个短小却超实用的JavaScript 代码段
  2. 使用XSD校验Mybatis的SqlMapper配置文件(1)
  3. LeetCode Search a 2D Matrix(二分查找)
  4. hdu 4055 动态规划
  5. Java泛型反射机制(二)
  6. Django的请求流程(url)
  7. Node.js REPL终端
  8. 切图教程,PS和AI切图方法分享
  9. Linux ssh双向免密认证
  10. JAVA_SE基础——52.匿名内部类
  11. python中__del__使用方法
  12. ECMAScript 6 字符串的扩展
  13. HTML5的学习(一)HTML5标签
  14. python线程进程
  15. MVC客户端使用 Mustache.js把json数据填充到模版中
  16. Web自动化测试框架Watir(基于Ruby) - 第1章 Windows下安装与部署
  17. 第149天:javascript中this的指向详解
  18. SASS详解之编译输出的样式
  19. pycharm设置安装python第三方插件
  20. html 表单button

热门文章

  1. window.dialogArguments
  2. 树莓派-解决apt-get upgrade速度慢的方法[更换阿里云源]
  3. Django学习案例一(blog):二. 连接数据库
  4. 2A课程笔记分享_StudyJams_2017
  5. 前端工具gulp2
  6. java操作Excel的poi 创建一个sheet页
  7. java将父类所有的属性COPY到子类中
  8. python tips:迭代器与可迭代对象
  9. Python字典 day2
  10. scrapy-redis使redis不止保存url