题目描述

我们可以从几个种类中选取竞赛的题目,这里的一个"种类"是指一个竞赛题目的集合,解决集合中的题目需要相同多的时间并且能得到相同的分数。你的任务是写一个程序来告诉USACO的职员,应该从每一个种类中选取多少题目,使得解决题目的总耗时在竞赛规定的时间里并且总分最大。输入包括竞赛的时间,M(1 <= M <= 10,000)(不要担心,你要到了训练营中才会有长时间的比赛)和N,"种类"的数目1 <= N <= 10,000。后面的每一行将包括两个整数来描述一个"种类":

第一个整数说明解决这种题目能得的分数(1 <= points <= 10000),第二整数说明解决这种题目所需的时间(1 <= minutes <= 10000)。

你的程序应该确定我们应该从每个"种类"中选多少道题目使得能在竞赛的时间中得到最大的分数。

来自任意的"种类"的题目数目可能是任何非负数(0或更多)。

计算可能得到的最大分数。

输入格式

第 1 行: M, N--竞赛的时间和题目"种类"的数目。

第 2-N+1 行: 两个整数:每个"种类"题目的分数和耗时。

输出格式

单独的一行包括那个在给定的限制里可能得到的最大的分数。

输入输出样例

输入 #1复制

300 4
100 60
250 120
120 100
35 20

输出 #1复制

605

说明/提示

题目翻译来自NOCOW。

USACO Training Section 3.1


题解

这是道完全背包模板题。把竞赛时间看做背包容量,每个种类的题目看做物品,每个物品可以被选择,也可以不选。

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <math.h>
 4 #include <algorithm>
 5 #include <string.h>
 6
 7 using namespace std;
 8
 9 const int    MAXN = 1e5 + 5;
10 int        m, n, s[MAXN], t[MAXN], f[MAXN];
11
12 int main()
13 {
14     cin >> m >> n;
15     for ( int i = 1; i <= n; i++ )
16     {
17         cin >> s[i] >> t[i];
18     }
19     for ( int i = 1; i <= n; i++ )
20     {
21         for ( int j = t[i]; j <= m; j++ )
22         {
23             f[j] = max( f[j], f[j - t[i]] + s[i] );
24         }
25     }
26     cout << f[m] << endl;
27     return(0);
28 }

转载于:https://www.cnblogs.com/zealsoft/p/11440385.html

洛谷 P2722 总分题解相关推荐

  1. 洛谷P1816 忠诚 题解

    洛谷P1816 忠诚 题解 题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人 ...

  2. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  3. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  4. 洛谷P2108学英语题解

    来我的博客里拥有更好的阅读体验:https://yyxi.ml/2020/07/23/luogu-p2108-xueyingyu/ 洛谷P2108学英语题解(c++) 题目描述 代码.思路 踩过的坑 ...

  5. 洛谷 P1077 摆花 题解

    洛谷 P1077 摆花 题解 洛谷 P1077 题目 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共mmm盆.通过调查顾客的喜好,小明列出了顾客最喜欢的nnn种花,从1到nnn标号.为 ...

  6. 修改数组(洛谷P7285题题解,C++语言描述)

    题目要求 P7285题目链接 分析 这题虽然是红题,但是因为很有趣且是 Special Judge ,所以写篇题解. 乍一看,这题好麻烦啊,要综合考虑xxx和yyy,达到x−yx-yx−y的最优化. ...

  7. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  8. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

  9. 贪心策略摘果子(洛谷P1478题题解,Java语言描述)

    题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...

最新文章

  1. perl 如何更新_Perl 进度条模块
  2. refreshcontrol 实现下拉刷新的功能
  3. python数据匹配_python 匹配@
  4. 内含下载 | Pokemon GO:20年前的IP为什么还能引爆朋友圈?
  5. 中如何移动物体在画面中的位置_如何在弱光环境中拍摄运动物体
  6. Pandas to_timedelta
  7. php 中c函数重载,php函数重载的替代方法--伪重载详解
  8. Visio使用技巧总结
  9. 模拟电路---利用反相器构成方波电路在实际电路中的使用
  10. 2.SQL之条件查询
  11. blender导出html,神器,C4D互导插件,可与Maya和Blender模型快速复制粘贴导出脚本Quick CopyPaste (Blender, Maya, C4D)...
  12. 调用Python的PyAutoGUI模块中的doubleClick函数无反应
  13. 实战八:美国人口普查数据进行收入预测分类
  14. Pytorch 风格迁移(Style transfer)
  15. blender导入mmd的pmx模型进行额外建模后,导出pmx模型,出现材质缺失问题的解决方法
  16. GLSL——绘制平面图形(一)
  17. 项目经理产品经理必看,流程图绘制Drawio
  18. 【shell】case实现简单的系统工具箱
  19. 10 年老程序员教你甩锅必杀技,论【如何优雅的甩锅】
  20. 工信部首次发声:培育一批进军元宇宙等新兴领域的创新型中小企业

热门文章

  1. red6.4 mysql_rhel6.4 yum本地yum源配置
  2. 天文学专业在什么时候学计算机,南京大学在985排名第几?南京大学最牛的专业是天文系吗?...
  3. 计算机网络与通信的课程报告,计算机网络与通信课程设计报告.doc
  4. c primer英文版第5版_2019足坛10大巨星:梅西第2范戴克第3,C罗第5
  5. mysql5.7主从全备恢复_Mysql5.7—运维常用备份方式(超全)
  6. java时间聚类_mongodb 按照时间聚类 java
  7. 某系统有6台输出设备 有多个进程均需要使用2台_系统设计硬核知识(4)——操作系统的设备管理...
  8. 虚拟主机安装mysql_如何虚拟主机安装mysql
  9. linux自动挂载usb打印机,Linux下使用Usbmount实现USB设备自动挂载
  10. sklearn朴素贝叶斯分类器_python机器学习:方法链和朴素贝叶斯分类器