RQNOJ 95 多多看DVD(加强版):01背包
题目链接:https://www.rqnoj.cn/problem/95
题意:
叔叔要陪多多看动画片。
有n张DVD可以买,第i张碟的打分为w[i],播放时间为t[i]。
爷爷规定他们只能在一定的时间段L看完。
多多让叔叔惯的特别任性,只要他看到有几张就一定会看完。
买碟的地方只买给顾客m(m<n)张碟,不会多也不会少。
在N张碟中只买M张而且在规定时间看完,问你最高的总价值。
题解:
表示状态:
dp[i][j][k] = max value
i:考虑到第i个DVD
j:已经选了j张碟
k:当前的总播放时间
找出答案:
max dp[n][m][0 to L]
所有碟都考虑完,正好选了m张。
如何转移:
now: dp[i][j][k]
dp[i+1][j][k] = max dp[i][j][k] (不选)
dp[i+1][j+1][k+t[i]] = max dp[i][j][k] + w[i] (选)
边界条件:
dp[0][0][0] = 0
others = -1
AC Code:
// state expression:
// dp[i][j][k] = max value
// i: considering ith DVD
// j: j DVDs is selected
// k: cost time
//
// find the answer:
// max dp[n][m][0 to l]
//
// transferring:
// now: dp[i][j][k]
// dp[i+1][j][k] = max dp[i][j][k]
// dp[i+1][j+1][k+t[i]] = max dp[i][j][k] + w[i]
//
// boundary:
// dp[0][0][0] = 0
// others = -1
#include <iostream>
#include <stdio.h>
#include <string.h>
#define MAX_N 105
#define MAX_M 105
#define MAX_L 1005 using namespace std; int n,m,l;
int ans;
int t[MAX_N];
int w[MAX_N];
int dp[MAX_N][MAX_M][MAX_L]; void read()
{
cin>>n>>m>>l;
for(int i=;i<n;i++)
{
cin>>t[i]>>w[i];
}
} void solve()
{
memset(dp,-,sizeof(dp));
dp[][][]=;
for(int i=;i<n;i++)
{
for(int j=;j<=m;j++)
{
for(int k=;k<=l;k++)
{
if(dp[i][j][k]!=-)
{
dp[i+][j][k]=max(dp[i+][j][k],dp[i][j][k]);
if(j+<=m && k+t[i]<=l)
{
dp[i+][j+][k+t[i]]=max(dp[i+][j+][k+t[i]],dp[i][j][k]+w[i]);
}
}
}
}
}
ans=;
for(int i=;i<=l;i++)
{
ans=max(ans,dp[n][m][i]);
}
} void print()
{
cout<<ans<<endl;
} int main()
{
read();
solve();
print();
}
RQNOJ 95 多多看DVD(加强版):01背包的更多相关文章
- rqnoj PID95:多多看DVD(加强版)
题目描述 多多进幼儿园了,今天报名了.只有今晚可以好好放松一下了(以后上了学后会很忙).她的叔叔决定给他买一些动画片DVD晚上看.可是爷爷规定他们只能在一定的时间段L看完.(因为叔叔还要搞NOIP不能 ...
- RQNOJ 329 刘翔!加油!:01背包
题目链接:https://www.rqnoj.cn/problem/329 题意: 刘翔有n封信,每封信都有自己的欣赏价值value[i].消耗时间time[i].消耗体力h[i].和得到的鼓舞w[i ...
- RQNOJ 202 奥运火炬登珠峰:01背包
题目链接:https://www.rqnoj.cn/problem/202 题意: 登珠峰需要携带a(L)O2和t(L)N2. 有n个气缸可供选择.其中第i个气缸能装下a[i](L)O2和t[i](L ...
- 紫书 例题 9-5 UVa 12563 ( 01背包变形)
总的来说就是价值为1,时间因物品而变,同时注意要刚好取到的01背包 (1)时间方面.按照题意,每首歌的时间最多为t + w - 1,这里要注意. 同时记得最后要加入时间为678的一首歌曲 (2)这里因 ...
- HDU2191--多重背包(二进制分解+01背包)
悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- HDU 2955 【01背包/小数/概率DP】
Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- UVALive 4870 Roller Coaster --01背包
题意:过山车有n个区域,一个人有两个值F,D,在每个区域有两种选择: 1.睁眼: F += f[i], D += d[i] 2.闭眼: F = F , D -= K 问在D小于等于一定限度的时 ...
- POJ1112 Team Them Up![二分图染色 补图 01背包]
Team Them Up! Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7608 Accepted: 2041 S ...
- Codeforces 2016 ACM Amman Collegiate Programming Contest A. Coins(动态规划/01背包变形)
传送门 Description Hasan and Bahosain want to buy a new video game, they want to share the expenses. Ha ...
随机推荐
- hdu 5444 Elven Postman(长春网路赛——平衡二叉树遍历)
题目链接:pid=5444http://">http://acm.hdu.edu.cn/showproblem.php?pid=5444 Elven Postman Time Limi ...
- 我是这样使用template.js来异步渲染数据的demo
直接来代码吧! <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- IE8 "开发人员工具" 无法使用,无法显示
经常使用IE8开发工具的开发人员可能会遇到这么一种去情况:按F12时任务栏里出现开发人员工具的任务,但是开发人员工具窗体不弹出,也不出现在IE8里,重装IE88后还是存在此问题. 解决办法其实非常简单 ...
- 摩托罗拉SE955 One Discrete Length,Two Discrete Lengths,Length Within Range 相关解释
motorola scanner datasheet相关解释(下面通过Simple Serial Interface(SSI)进行设置,非扫描官方datasheet的设置条码): One Discre ...
- 李振杰:火狐Mozilla被黑事件的启发
火狐浏览器开发商Mozilla近日宣布,因为数据库存在漏洞.Mozilla开发者的数万个电子邮件地址和加密password或遭到黑客窃取. 好多有为青年们往往刚刚获得了一个小成功,便開始沾沾自喜,自命 ...
- HTML经典标签用法
1.marquee属性的使用说明 <marquee> ... </marquee>移动属性的设置 ,这种移动不仅仅局限于文字,也可以应用于图片,表格等等 鼠标属性 onMo ...
- Java8中 Date和LocalDateTime的相互转换
一.在Java 8中将Date转换为LocalDateTime 方法1: 将Date转换为LocalDatetime,我们可以使用以下方法: 1.从日期获取ZonedDateTime并使用其方法toL ...
- linux 打印系统时间操作
版权为个人所有,如需转载请说明出处.(东北大亨) http://www.cnblogs.com/northeastTycoon/p/5511498.html 1. 打开shell脚本 例子1:输出两天 ...
- loadrunner动态从mysql取值 [需要下载跟数据库服务器一致的dll,32位或64位]
loadrunner中有参数化从数据库中取值,但是只是静态的,对于一些要实时取值的数据就game over了,比如取短信验证码,因为MySQL中有一个libmysql.dll,里面提供了可以操作数据库 ...
- 内存MCE错误导致暴力扩充messages日志 以及chattr记录
由于放假,好久没登过服务器,今天登上服务器查看日志意外发现:/var/log/messages文件竟然被撑到20多个G!!!赶紧查看是什么情况,首先,20多个G的文件根本无法查看,因此,我想到了spl ...