传送门

f[i][j]表示前i首歌放到前j个盘里最多能放多首

ntr[i][j]表示i~j中最多能放进一张盘中多少首歌

ntr数组可以贪心预处理出来。

#include <cstdio>
#include <iostream>
#include <algorithm>
#define N 21
#define max(x, y) ((x) > (y) ? (x) : (y)) int n, t, m;
int a[N], b[N], ntr[N][N], f[N][N];
//f[i][j]表示前i首歌放到前j个盘里最多能放多首
//ntr[i][j]表示i~j中最多能放进一张盘中多少首歌 inline int read()
{
int x = 0, f = 1;
char ch = getchar();
for(; !isdigit(ch); ch = getchar()) if(ch == '-') f = -1;
for(; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - '0';
return x * f;
} inline void init()
{
int i, j, k, sum, cnt;
for(i = 1; i <= n; i++)
for(j = i; j <= n; j++)
{
sum = cnt = 0;
for(k = i; k <= j; k++) b[k] = a[k];
std::sort(b + i, b + j + 1);
for(k = i; k <= j; k++)
if(sum + b[k] <= t)
{
cnt++;
sum += b[k];
}
ntr[i][j] = cnt;
}
} int main()
{
int i, j, k;
n = read();
t = read();
m = read();
for(i = 1; i <= n; i++) a[i] = read();
init();
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
for(k = 0; k < i; k++)
f[i][j] = max(f[i][j], f[k][j - 1] + ntr[k + 1][i]);
printf("%d\n", f[n][m]);
return 0;
}

  

[luoguP2736] “破锣摇滚”乐队 Raucous Rockers(DP)的更多相关文章

  1. 洛谷P2736 “破锣摇滚”乐队 Raucous Rockers

    P2736 "破锣摇滚"乐队 Raucous Rockers 21通过 52提交 题目提供者该用户不存在 标签USACO 难度普及+/提高 提交  讨论  题解 最新讨论 暂时没有 ...

  2. P2736 “破锣摇滚”乐队 Raucous Rockers

    题目描述 你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的N(1 <= N <= 20)首歌的版权.你打算从中精选一些歌曲,发行M(1 <= M <= 20)张CD.每一张C ...

  3. Codevs 1444 “破锣摇滚”乐队

    1444 “破锣摇滚”乐队   题目描述 Description 你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的N(1 <= N <= 20)首歌的版权.你打算从中精选一些歌曲,发行M ...

  4. “破锣摇滚”乐队(codevs 1444)

    题目描述 Description 你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的N(1 <= N <= 20)首歌的版权.你打算从中精选一些歌曲,发行M(1 <= M <= ...

  5. USACO 3.4 Raucous Rockers

    Raucous Rockers You just inherited the rights to N (1 <= N <= 20) previously unreleased songs ...

  6. 递推DP UVA 473 Raucous Rockers

    题目传送门 题意:n首个按照给定顺序存在m张光盘里,每首歌有播放时间ti,并且只能完整的存在一张光盘里,问最多能存几首歌 分析:类似01背包和完全背包,每首歌可存可不存,存到下一张光盘的情况是当前存不 ...

  7. USACO Section 3.4: Raucous Rockers

    简单的dfs题目 /* ID: yingzho1 LANG: C++ TASK: rockers */ #include <iostream> #include <fstream&g ...

  8. DP擎天

    DP! 黄题: 洛谷P2101 命运石之门的选择 假装是DP(分治 + ST表) CF 982C Cut 'em all! 树形贪心 洛谷P1020 导弹拦截 单调队列水题 绿题: 洛谷P1594 护 ...

  9. DP小题集

    P2736 "破锣摇滚"乐队 Raucous Rockers 你刚刚继承了流行的"破锣摇滚"乐队录制的尚未发表的N(1 <= N <= 20)首歌的 ...

随机推荐

  1. RHEL 6.5----CDN(lumanger)

    主机名  IP   服务 master 192.168.30.130  CDN(LuManager) slave 192.168.30.131  DNS  软件安装包下载地址及安装方法 http:// ...

  2. poj2455Secret Milking Machine(二分+最大流)

    链接 二分距离,小于当前距离的边容量+1,使最后流>=t 注意 会有重边 #include <iostream> #include<cstdio> #include< ...

  3. 用NPOI从DataTable到Excel,向Excel模板填充数据

    DataTable---->Excel,填充数据 private IWorkbook workbook = null; private ISheet sheet = null; private ...

  4. List的深度copy和浅度拷贝

    List<Student> list= Arrays.asList( new Student("Fndroid", 22, Student.Sax.MALE, 180) ...

  5. H+后台主题UI框架---整理(二)

    本篇文章是针对H+后台主题UI框架的整理的第二部分.主要只有一个point.如下: 其代码如下: <div class="ibox float-e-margins"> ...

  6. ag-grid-vue 本地删除,不重新刷新数据

    // 这是本地删除,不重新刷新数据 that.gridListOptions.api.updateRowData({ remove: [that.submitTransmitData] });

  7. Bundle的用法

    一.API文档说明 1.介绍 用于不同Activity之间的数据传递 1.重要方法 clear():清除此Bundle映射中的所有保存的数据. clone():克隆当前Bundle containsK ...

  8. mac自带终端安装完ohmyZsh后显示乱码

    修改描述文件-添加 选择新导入的 Meslo LG M Regular for Powerline

  9. SAP CRM和Cloud for Customer中的Event handler(事件处理器)

    SAP CRM可以在开发工具中用右键直接创建一个新的事件处理器: 这些事件处理器实际上就是UI控制器(Controller)上具有特定接口类型的方法. C4C UI的event handler 在C4 ...

  10. SQLite与MySQL、SQLServer等异构数据库之间的数据同步

    SQLite DBSync是开源嵌入式数据库SQLite的数据同步引擎,实现了SQLite与SQLite数据库之间以及SQLite与异构数据库(Oracle.MySQL.SQLServer)之间的增量 ...