【Link】:

【Description】



KTV给你T秒的唱歌时间;

你有n首一定要唱的歌;

然后有一首很变态的歌有678s,你想在T秒结束之前唱一下这首歌;

因为这样的话,你能尽量晚地走出KTV(不会在你唱到一半的时候让你不唱了),即你最后的唱歌时间是可以超过T秒的;

告诉你n首歌的时间;

这n首歌里面任选几道唱,但必须要留一点时间唱那首变态的歌;

问你最多能唱多少首歌,然后在唱歌最多的基础上,问你最晚能什么时候走出KTV

【Solution】



如果∑a[i]<T的话,则直接输出答案n+1和∑a[i] + 678;

否则;

计算在T-1秒内,你最多能唱多少首歌(不包括那首变态的歌);

(即最少留一秒钟开始唱那首变态的歌);

即设f[i]表示花费恰好i秒,最多能唱多少首除了那首变态的歌之外的歌;

最后逆序从T-1到0里面找下标最大(即时间)的,且f值最大的f[idx]

,输出f[idx]+1,和idx+678即可;



【NumberOf WA】



1



【Reviw】



忘记处理∑a[i] < T的情况了;



【Code】

#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define ms(x,y) memset(x,y,sizeof x)
#define Open() freopen("F:\\rush.txt","r",stdin)
#define Close() ios::sync_with_stdio(0) typedef pair<int,int> pii;
typedef pair<LL,LL> pll; const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
const int N = 50; int n,t;
int a[N+20],f[N*180+10]; int main(){
//Open();
//Close();
int T,kk = 0;
scanf("%d",&T);
while (T--){
kk++;
scanf("%d%d",&n,&t);
int sum = 0;
rep1(i,1,n){
scanf("%d",&a[i]);
sum+=a[i];
}
//f[i]代表花费时间为i,最多能唱多少首歌
f[0] = 0;
if (t > sum){
printf("Case %d: %d %d\n",kk,n+1,sum + 678);
continue;
}
rep1(i,1,t-1)
f[i] = -1;
rep1(i,1,n){
rep2(j,t-1,a[i])
if (f[j-a[i]]>=0)
f[j] = max(f[j],f[j-a[i]] + 1);
}
int ma = -1,idx;
rep2(i,t-1,0)
if (f[i]>ma){
ma = f[i],idx = i;
}
//678s
printf("Case %d: %d %d\n",kk,ma+1,idx + 678);
}
return 0;
}

【UVa 12563】Jin Ge Jin Qu hao的更多相关文章

  1. uVa 12563 Jin Ge Jin Qu

    分析可知,虽然t<109,但是总曲目时间大于t,实际上t不会超过180*n+678.此问题涉及到两个目标信息,首先要求曲目数量最多,在此基础上要求所唱的时间尽量长.可以定义 状态dp[i][j] ...

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

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

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

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

  6. 【巧妙算法系列】【Uva 11464】 - Even Parity 偶数矩阵

    偶数矩阵(Even Parity, UVa 11464) 给你一个n×n的01矩阵(每个元素非0即1),你的任务是把尽量少的0变成1,使得每个元素的上.下.左.右的元素(如果存在的话)之和均为偶数.比 ...

  7. 【贪心+中位数】【UVa 11300】 分金币

    (解方程建模+中位数求最短累积位移) 分金币(Spreading the Wealth, UVa 11300) 圆桌旁坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一 ...

  8. 【UVa 10881】Piotr's Ants

    Piotr's Ants Porsition:Uva 10881 白书P9 中文改编题:[T^T][FJUT]第二届新生赛真S题地震了 "One thing is for certain: ...

  9. 【UVa 116】Unidirectional TSP

    [Link]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

随机推荐

  1. 使用3ds Max制作卡通狗教程

    使用软件::3ds Max 软件下载:http://www.xy3dsmax.com/xiazai.html 全教程完,学完记得交作业.如果本教程对您有所帮助,请推荐给你的朋友. 全教程完,学完记得交 ...

  2. Python2.* object类............

    class object: """ The most base type """ def __delattr__(self, name): ...

  3. 找tensorboard

    一开始因为用户不对,提示tensorboard:未找到命令 切换正确账户寻找tensorboard 然后打开Xstart,输入firefox,把链接输入进去 即可

  4. 脚本2,从1到99 ,添加用户user1,user2,。。。 user99

    脚本2,从1到99 ,添加用户user1,user2,... user99 如果用户user$存在,脚本显示用户存在,否则添加用户,并显示添加用户成功. 脚本如下 [root@localhost ho ...

  5. 大O时间复杂度

    大O表示法指出了在最糟情况下的运行时间.比较操作数,指出了算法运行时间的增速 常见的大O运行时间 O(logn):也叫对数时间,包括二分查找 O(n):也叫线性时间,包括简单查找 O(nlogn):包 ...

  6. caioj 1161 欧拉函数3:可见点数

    (x, y)被看到仅当x与y互质 由此联想到欧拉函数 x=y是1个点,然后把正方形分成两半,一边是φ(n) 所以答案是2*∑φ(n)+1 #include<cstdio> #include ...

  7. 题解 P3200 【[HNOI2009]有趣的数列】

    说起来这是今天第三道卡特兰数了... 楼上的几篇题解好像都是直接看出这是卡特兰数,所以我就写一下为什么这道题可以用卡特兰数吧. 考察这样相邻的两项:\(a_{2i-1}\)与\(a_{2i}\),根据 ...

  8. ASP.NET-本地化、全球化

    在<system.web>中加入一个全球化的标识,网站就可以自适应全球化了 也可以将出错信息全球化 上面的这种方式测试过对google浏览器好像没用,但是对IE内核的是可行的,可能goog ...

  9. 洛谷 P3102 [USACO14FEB]秘密代码Secret Code

    P3102 [USACO14FEB]秘密代码Secret Code 题目描述 Farmer John has secret message that he wants to hide from his ...

  10. IOS中UIImagePickerController中文界面问题

    今天沈阳斌子,写IOS项目遇到一个调用照相机的问题,找到解决方法,高速攻克了拿给PM看,结果PM说程序调用的照相机不是中文的是英文的.必须改成中文.上网找到了方法.试用后好用拿出来和大家分享.方法例如 ...