UVA12563Jin Ge Jin Qu hao(01背包)
紫书P274
题意:输入N首歌曲和最后剩余的时间t,问在保证能唱的歌曲数目最多的情况下,时间最长;最后必唱《劲歌金曲》
所以就在最后一秒唱劲歌金曲就ok了,背包容量是t-1,来装前面的歌曲,设两个Time求时间,cnt是数量
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
const int MAX = 10000;
int cnt[MAX],Time[MAX],song[MAX];
int main()
{
int n,t;
int tase,num = 0;
scanf("%d", &tase);
while( tase-- )
{
scanf("%d%d", &n, &t);
for(int i = 1; i <= n; i++)
scanf("%d", &song[i]);
int v = t - 1;
memset(cnt, 0, sizeof(cnt));
memset(Time, 0, sizeof(Time));
for(int i = 1; i <= n; i++)
{
for(int j = v; j >= song[i]; j--)
{
if(cnt[j] < cnt[j - song[i]] + 1) //选择第i个时的数量多
{
cnt[j] = cnt[j - song[i]] + 1;
Time[j] = Time[j - song[i]] + song[i];
}
else if(cnt[j] == cnt[j - song[i]] + 1) //在数量相等的情况下,更新时间
{
if(Time[j] < Time[j - song[i]] + song[i])
Time[j] = Time[j - song[i]] + song[i];
}
}
}
int res =678 + Time[v];
printf("Case %d: %d %d\n",++num, cnt[v] + 1, res);
}
return 0;
}
UVA12563Jin Ge Jin Qu hao(01背包)的更多相关文章
- UVA - 12563 Jin Ge Jin Qu hao (01背包)
InputThe first line contains the number of test cases T (T ≤ 100). Each test case begins with two po ...
- UVA12563-Jin Ge Jin Qu hao(动态规划基础)
Problem UVA12563-Jin Ge Jin Qu hao Accept: 642 Submit: 7638Time Limit: 3000 mSec Problem Descriptio ...
- UVa12563- Jin Ge Jin Qu hao
思路一定要清晰! /* * Author: Bingo * Created Time: 2014/12/25 3:45:35 * File Name: uva12563.cpp */ #include ...
- UVA 12563 "Jin Ge Jin Qu hao" (背包)
传送门 debug了好一会,突然发现,输出错了,emmm......... 明天再写debug历程: (PS:ipad debug是真的繁琐) 题意: 题解: 尽管题干中给的 t 的范围很大,但是 t ...
- UVA Jin Ge Jin Qu hao 12563
Jin Ge Jin Qu hao (If you smiled when you see the title, this problem is for you ^_^) For those who ...
- 12563 - Jin Ge Jin Qu hao——[DP递推]
(If you smiled when you see the title, this problem is for you ^_^) For those who don’t know KTV, se ...
- 12563 Jin Ge Jin Qu hao
• Don’t sing a song more than once (including Jin Ge Jin Qu). • For each song of length t, either si ...
- UVa 12563 (01背包) Jin Ge Jin Qu hao
如此水的01背包,居然让我WA了七次. 开始理解错题意了,弄反了主次关系.总曲目最多是大前提,其次才是歌曲总时间最长. 题意: 在KTV房间里还剩t秒的时间,可以从n首喜爱的歌里面选出若干首(每首歌只 ...
- Jin Ge Jin Qu hao UVA - 12563 01背包
题目:题目链接 思路:由于t最大值其实只有180 * 50 + 678,可以直接当成01背包来做,需要考虑的量有两个,时间和歌曲数,其中歌曲优先级大于时间,于是我们将歌曲数作为背包收益,用时间作为背包 ...
随机推荐
- CSS 布局调试工具
说是工具其实只是一段 Javascript 代码,但非常实用,它会给页面里所有的 DOM 元素添加一个 1px 的描边(outline),方便我们在调试 CSS 过程中分析.排查问题. 先来看看代码, ...
- C语言 数组做函数参数不传数组个数的遍历方法
//数组做函数参数不传数组个数的遍历方法 #include<stdio.h> #include<stdlib.h> #include<string.h> void ...
- CAN开发中遇到的奇怪问题
问题背景: 之前在做USBCAN2开发过程中,遇到一个奇葩问题,当我们加上其中某一句代码时,我们的程序会走不下去,得不到数据,而且在调试的过程中,你也不能暂停,不然,你也得不到数据.后来参考网上一篇帖 ...
- EBS中使用java进行 JavaConcurrentProgram 请求获取参数
public class MainTest implements JavaConcurrentProgram { //实现interface中的runProgram方法 public void run ...
- IOS开发之——类似微信摇一摇的功能实现
首先,一直以为摇一摇的功能实现好高大上,结果百度了.我自己也模仿写了一个demo.主要代码如下: 新建一个项目,名字为AnimationShake. 主要代码: - (void)motionBegan ...
- jquery实现文件异步上传
前言 这里用了2个JS插件,一个是Jquery原生js,我的版本是jquery-1.7.2.min.js,另一个是jquery.form.js.这个form.js 是关键,不可少哦.另外, 我的服务器 ...
- google map api v2的使用详细过程,图文并茂(原创)
上一篇中说到怎么获取key,下面来介绍怎么使用key来显示google地图 步骤1:eclipse上打开android SDK Manager,安装google play services. 步骤2: ...
- 什么是co-training
首先先认识下什么是co-training: 在计算机视觉中,我们都知道训练一个分类器的时候,我们需要两类样本,分别是正样本和负样本.监督训练又可以成为off-line training,就是提前准备好 ...
- Git.Framework 框架随手记--IIS7运行序列化问题
客户反馈系统又登录不了,这是最近几次连续出现相同的问题,从日志反应情况来看: 日志级别:[info] 日志位置:Git.Framework.Resource.ResourceManager 日志时间: ...
- blur效果,模糊效果css
.blur { -webkit-filter: blur(5px); -moz-filter: blur(5px); -o-filter: blur(5px); -ms-filter: b ...