洛谷P2736 “破锣摇滚”乐队 Raucous Rockers
P2736 “破锣摇滚”乐队 Raucous Rockers
- 21通过
- 52提交
- 题目提供者该用户不存在
- 标签USACO
- 难度普及+/提高
提交 讨论 题解
最新讨论
- 暂时没有讨论
题目描述
你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的N(1 <= N <= 20)首歌的版权。你打算从中精选一些歌曲,发行M(1 <= M <= 20)张CD。每一张CD最多可以容纳T(1 <= T <= 20)分钟的音乐,一首歌不能分装在两张CD中。
不巧你是一位古典音乐迷,不懂如何判定这些歌的艺术价值。于是你决定根据以下标准进行选择:
1.歌曲必须按照创作的时间顺序在所有的CD盘上出现。(注:第i张盘的最后一首的创作时间要早于第i+1张盘的第一首)
2.选中的歌曲数目尽可能地多
输入输出格式
输入格式:
第一行: 三个整数:N, T, M.
第二行: N个整数,分别表示每首歌的长度,按创作时间顺序排列。
输出格式:
一个整数,表示可以装进M张CD盘的乐曲的最大数目。
输入输出样例
4 5 2
4 3 4 2
3
说明
题目翻译来自NOCOW。
USACO Training Section 3.4
分析:一开始看成模拟了......这是一道比较简单的搜索题,因为要求按顺序放乐曲,所以考虑这个乐曲能不能放和放不放,放是放在这个cd还是下一个cd,判断4种情况即可.
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring> using namespace std; int n, tt, m,a[],ans = ; void dfs(int s, int c, int t, int r)
{
if (s == n + || c == m + )
{
ans = max(ans, r);
return;
}
if (r + n - s + <= ans)
return;
if (t >= a[s])
{
dfs(s + , c, t - a[s], r + );
dfs(s + , c, t, r);
}
else
{
dfs(s + , c, t, r);
dfs(s, c + , tt, r);
}
} int main()
{
scanf("%d%d%d", &n, &tt, &m);
for (int i = ; i <= n; i++)
scanf("%d", &a[i]);
dfs(, , tt, );
printf("%d\n", ans); return ;
}
洛谷P2736 “破锣摇滚”乐队 Raucous Rockers的更多相关文章
- P2736 “破锣摇滚”乐队 Raucous Rockers
题目描述 你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的N(1 <= N <= 20)首歌的版权.你打算从中精选一些歌曲,发行M(1 <= M <= 20)张CD.每一张C ...
- [luoguP2736] “破锣摇滚”乐队 Raucous Rockers(DP)
传送门 f[i][j]表示前i首歌放到前j个盘里最多能放多首 ntr[i][j]表示i~j中最多能放进一张盘中多少首歌 ntr数组可以贪心预处理出来. #include <cstdio> ...
- “破锣摇滚”乐队(codevs 1444)
题目描述 Description 你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的N(1 <= N <= 20)首歌的版权.你打算从中精选一些歌曲,发行M(1 <= M <= ...
- Codevs 1444 “破锣摇滚”乐队
1444 “破锣摇滚”乐队 题目描述 Description 你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的N(1 <= N <= 20)首歌的版权.你打算从中精选一些歌曲,发行M ...
- 洛谷AC破百题纪念!
- USACO Section 1.3 题解 (洛谷OJ P1209 P1444 P3650 P2693)
usaco ch1.4 sort(d , d + c, [](int a, int b) -> bool { return a > b; }); 生成与过滤 generator&& ...
- 洛谷P3380 【模板】二逼平衡树(树套树,树状数组,线段树)
洛谷题目传送门 emm...题目名写了个平衡树,但是这道题的理论复杂度最优解应该还是树状数组套值域线段树吧. 就像dynamic ranking那样(蒟蒻的Sol,放一个link骗访问量233) 所有 ...
- 洛谷 P1142 轰炸
洛谷 P1142 轰炸 题目描述 “我该怎么办?”飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们是位于平面上的一些点 ...
- 状压DP 【洛谷P3694】 邦邦的大合唱站队
[洛谷P3694] 邦邦的大合唱站队 题目背景 BanG Dream!里的所有偶像乐队要一起大合唱,不过在排队上出了一些问题. 题目描述 N个偶像排成一列,他们来自M个不同的乐队.每个团队至少有一个偶 ...
随机推荐
- 访问修饰符protected
protected(C# 参考) protected 关键字是一个成员访问修饰符. 受保护成员在其所在的类中可由派生类实例访问. 示例只有在通过派生类访问时,基类的受保护成员在派生类中才是可访问的. ...
- web开发
教程 html教程 CSS 教程 JavaScript 教程 参考手册 HTML 4.01 / XHTML 1.0 参考手册 CSS 参考手册 JavaScript 参考手册 PHP 手册 CodeI ...
- Navicat(连接) -1高级设置
高级设置 设置位置当创建一个新的连接,Navicat 将在设置位置创建一个子文件夹.大多数文件都保存在该子文件夹: Navicat 对象 服务器类型 扩展名 查询 全部 .sql 导出查询结果设置文件 ...
- AP_AP系列 - 付款管理分析(案例)
2014-07-08 Created By BaoXinjian 一.摘要 1. 付款 2. 发票付款概述 3. 使用发票工作台付款 4. 使用付款管理器付款 5. 银行账户模型 二.流程分析 1. ...
- HDU 1257 最少拦截系统(贪心)
解题思路:用一个vector存下数据,从头开始非递增遍历,并把符合条件的删除,一次操作,ans++,当vector为空时退出循环.(PS:学到了vector的erase操作,竟然还有返回值,涨姿势了) ...
- bug_ _ android.view.InflateException: Binary XML file line #2: Error inflating class <unknown
========= 5.0 android异常“android.view.InflateException: Binary XML file line # : Error inflating ...
- firebug下载时出现there was an error loading firebug
打开Firefox -> Preferences -> Advance ->Certificates 将Query OSCP....前面的checkbox取消
- Yii 框架生成缩略图
控制器 if($model->load(Yii::$app->request->post())) { //原图 $model->img = ...
- xcode 插件管理工具
每次xcode 更新后之前安装的插件 都失效了!解决办法: 一.可以通过在原插件项目infoplist新增 新xcode的 DVTPlugInCompatibilityUUID 来使之支持新版xcod ...
- Vim 中截取部分内容保存到其他文件
最近无聊,突然想跟着玩玩天池数据挖掘,发现数据好大,想转换到mysql数据库,phpmyadmin import 导入时抱错! 数据文件大大! 于是乎,准备截取一小段到另外一个文件测试先,然后,发现了 ...