昨天晚上的rank彻底废了。。一个星期没敲代码完全没手感。
作为总结,贴一道昨天浪费了我两小时的dp。

http://acm.dirring.com/problem.php?cid=1003&pid=3

问题 D: Dirring love 音乐

时间限制: 1 Sec  内存限制: 128 MB
提交: 34  解决: 10

题目描述

上个学期,Dirring给自己的手机升级了安卓6.0,然后发现安卓6.0占用了大量的内存空间,以至于可用空间只剩下了v MB,自己喜欢的n首歌曲不能全部放进去了,悲催的他只好忍痛割爱,决定只拷贝一部分歌曲进去。现在,已知每首歌的大小以及Dirring对每首歌的热爱指数,请你帮帮可怜的他,应该选择拷贝哪些歌曲,以使这些歌曲的热爱指数之和最大。
答案保证在int范围内。

输入

多组数据,对于每组数据,第一行是两个整数,分别代表n(0<n<100)和v(0<v<10000),接下来n行,每行两个整数,分别代表一首歌的大小(MB)和热爱指数。

输出

每组数据输出一行,每行一个整数,代表答案。

样例输入

3 10
6 8
5 6
5 6

样例输出

12

这道题我一开始想到的是背包问题,忘了音乐本身是不可分的,这应该属于dp问题。智商是硬伤。。。。

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
while(cin>>n>>m){
int a[n+],b[n+],dp[m+];
memset(a,,sizeof(a));
memset(b,,sizeof(b));
memset(dp,,sizeof(dp));
for(int i=;i<=n;i++) cin>>a[i]>>b[i];
for(int i=;i<=n;i++){
for(int j=m;j>=a[i];j--)
dp[j]=max(dp[j],dp[j-a[i]]+b[i]); // 即不断把问题缩小,求出在所有空间大小下的最大值,然后再从中选择就可以。案例中空间是10,所以比较dp[10-6]+能加的最大文件,然后比较dp[10-5]+能加的最大文件。
}
cout<<dp[m]<<endl;
} }

dp入门问题的更多相关文章

  1. poj 3254 状压dp入门题

    1.poj 3254  Corn Fields    状态压缩dp入门题 2.总结:二进制实在巧妙,以前从来没想过可以这样用. 题意:n行m列,1表示肥沃,0表示贫瘠,把牛放在肥沃处,要求所有牛不能相 ...

  2. xbz分组题B 吉利数字 数位dp入门

    B吉利数字时限:1s [题目描述]算卦大湿biboyouyun最近得出一个神奇的结论,如果一个数字,它的各个数位相加能够被10整除,则称它为吉利数.现在叫你计算某个区间内有多少个吉利数字. [输入]第 ...

  3. 【dp入门题】【跟着14练dp吧...囧】

    A HDU_2048 数塔 dp入门题——数塔问题:求路径的最大和: 状态方程: dp[i][j] = max(dp[i+1][j], dp[i+1][j+1])+a[i][j];dp[n][j] = ...

  4. 数位dp入门 hdu2089 不要62

    数位dp入门 hdu2089 不要62 题意: 给定一个区间[n,m] (0< n ≤ m<1000000),找出不含4和'62'的数的个数 (ps:开始以为直接暴力可以..貌似可以,但是 ...

  5. POJ 2342 树形DP入门题

    有一个大学的庆典晚会,想邀请一些在大学任职的人来參加,每一个人有自己的搞笑值,可是如今遇到一个问题就是假设两个人之间有直接的上下级关系,那么他们中仅仅能有一个来參加,求请来一部分人之后,搞笑值的最大是 ...

  6. hdu3555 Bomb 数位DP入门

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 简单的数位DP入门题目 思路和hdu2089基本一样 直接贴代码了,代码里有详细的注释 代码: ...

  7. 【专章】dp入门

    动态规划(简称dp),可以说是各种程序设计中遇到的第一个坎吧,这篇博文是我对dp的一点点理解,希望可以帮助更多人dp入门. ***实践是检验真理的唯一标准,看再多文章不如自己动手做几道!!!*** 先 ...

  8. HDU 2084 数塔(简单DP入门)

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  9. 树形dp 入门

    今天学了树形dp,发现树形dp就是入门难一些,于是好心的我便立志要发一篇树形dp入门的博客了. 树形dp的概念什么的,相信大家都已经明白,这里就不再多说.直接上例题. 一.常规树形DP P1352 没 ...

  10. 树形DP入门详解+题目推荐

    树形DP.这是个什么东西?为什么叫这个名字?跟其他DP有什么区别? 相信很多初学者在刚刚接触一种新思想的时候都会有这种问题. 没错,树形DP准确的说是一种DP的思想,将DP建立在树状结构的基础上. 既 ...

随机推荐

  1. 原型prototype

    JS对象的比较 由于JS是解释执行的语言,那么代码中出现函数与对象如果重复执行,会创建多个副本 创建一个Person构造函数,要求有name,age,gender,sayHello 代码如下: fun ...

  2. div,span,p等转换成可编辑

    当前它能够将任意不可编辑的标签(span.div.p...等)转换成可编辑的text input.password.textarea.下拉列表(drop-down list)等标签.你可以利用它的ed ...

  3. OpenGL中旋转平移缩放等变换的顺序对模型的影响

    l 前提: 0x01. 假设绘制顶点的语句为Draw Array,变换的语句(旋转.平移.缩放)为M,而 M0; M1; M2; Draw Array; 则称对Array先进行M2再进行M1.M0 0 ...

  4. SAP (ABAP) 常用的数学函数

    Function func Return value abs Absolute value of the argument arg (绝对值) sign Plus/minus sign of the ...

  5. SharePoint Online 创建门户网站系列之首页布局

    前 言 SharePoint Online中创建首页布局,一般都是首先将美工提供的效果图,切图成为Html + Css + Script的形式,然后,将所有资源文件传到SharePoint Onlin ...

  6. putty保持不掉线

    putty连接linux,一会就掉线了,然后再重新输入,比较麻烦. 参考http://www.putty.ws/putty-lianjie这篇文章解决. 如图,30表示每隔30秒putty会发一个空的 ...

  7. 使用Autodesk Vault插件向导轻松创建Vault插件

    Vault SDK帮助文档中已经详细描述了怎么创建Vault插件,不过还是太麻烦了,首先要添加必要的引用,修改程序集属性,添加vcet.config文件,实现必要的接口,最后还要手动把生成的文件拷贝到 ...

  8. umask 权限设置文章

    文章来源 https://www.starduster.me/2014/12/29/use-umask-to-config-sftp-upload-files/ 最近遇到一点事,需要开放工作室服务器的 ...

  9. 使用TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE宏区分模拟器和设备

    #if TARGET_IPHONE_SIMULATOR          NSLog(@"run on simulator");      #else          NSLog ...

  10. android事件分发机制

    android事件分发机制,给控件设置ontouch监听事件,当ontouch返回true时,他就不会走onTouchEvent方法,要想走onTouchEvent方法只需要返回ontouch返回fa ...