题目链接: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背包的更多相关文章

  1. rqnoj PID95:多多看DVD(加强版)

    题目描述 多多进幼儿园了,今天报名了.只有今晚可以好好放松一下了(以后上了学后会很忙).她的叔叔决定给他买一些动画片DVD晚上看.可是爷爷规定他们只能在一定的时间段L看完.(因为叔叔还要搞NOIP不能 ...

  2. RQNOJ 329 刘翔!加油!:01背包

    题目链接:https://www.rqnoj.cn/problem/329 题意: 刘翔有n封信,每封信都有自己的欣赏价值value[i].消耗时间time[i].消耗体力h[i].和得到的鼓舞w[i ...

  3. RQNOJ 202 奥运火炬登珠峰:01背包

    题目链接:https://www.rqnoj.cn/problem/202 题意: 登珠峰需要携带a(L)O2和t(L)N2. 有n个气缸可供选择.其中第i个气缸能装下a[i](L)O2和t[i](L ...

  4. 紫书 例题 9-5 UVa 12563 ( 01背包变形)

    总的来说就是价值为1,时间因物品而变,同时注意要刚好取到的01背包 (1)时间方面.按照题意,每首歌的时间最多为t + w - 1,这里要注意. 同时记得最后要加入时间为678的一首歌曲 (2)这里因 ...

  5. HDU2191--多重背包(二进制分解+01背包)

    悼念512汶川大地震遇难同胞--珍惜现在,感恩生活 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  6. HDU 2955 【01背包/小数/概率DP】

    Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  7. UVALive 4870 Roller Coaster --01背包

    题意:过山车有n个区域,一个人有两个值F,D,在每个区域有两种选择: 1.睁眼: F += f[i], D += d[i] 2.闭眼: F = F ,     D -= K 问在D小于等于一定限度的时 ...

  8. POJ1112 Team Them Up![二分图染色 补图 01背包]

    Team Them Up! Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7608   Accepted: 2041   S ...

  9. 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 ...

随机推荐

  1. 【MVC2】发布到IIS7.5上后Session为null

    MVC2代码「Session.IsNewSession」在VS中可以正常执行,发布到IIS7.5上之后Session为null导致出错. if (Session.IsNewSession) { ... ...

  2. eclipse中文件文件夹高速定位,打开文件所在文件夹,在资源管理器中查看

    viewFile.bat (打开选中的文件获取目录) Explorer/e,/select,%1 viewjava.bat (打开选中的文件名称相应的.java文件) @echo off set ca ...

  3. 【MVC】初识MVC

    一.MVC是什么?     MVC(Model-View-Controller),是视图-模型-控制器的框架,刚開始看见这些概念的时候,我以为是U-D-B呢?视图界面,模型是相应这数据库呢,而控制器是 ...

  4. 检验 java 基础数据类型参数传递方式

    测试证明,java基础数据类型参数传递值虽是引用传递但是值不会改变.对象是引用传递,值会改变. 为什么?找到一段话来解释这个问题. "对于字符串对象来说,虽然在参数传递的时候也是引用传递,但 ...

  5. 百度Echart3

    由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...

  6. 原创 | 我被面试官给虐懵了,竟然是因为我不懂Spring中的@Configuration

    GitHub 3.7k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 3.7k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 3.7k Star 的 ...

  7. Chrome + Python 抓取动态网页内容

    用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找对应的关键字.如下所示: import urllib2 url="http: ...

  8. rtems 4.11 console驱动 (arm, beagle)

    console驱动框架主要文件是 c/src/lib/libbsp/shared/console.c,驱动的入口是 console_initialize()主要作用是初始化BSP提供的全局变量 Con ...

  9. netbeans xdebug

    xdebug配置 装了wamp后,xdebug默认就安装好了,为了能够用netbeans远程调试,配置文件里得加几句 [xdebug] xdebug.remote_enable = on xdebug ...

  10. js判断参数类型

    如何判断js中的数据类型:typeof.instanceof. constructor. prototype方法比较 如何判断js中的类型呢,先举几个例子: var a = "iamstri ...