UVa 12563 劲歌金曲(0-1背包)
2017-02-03 10:35
218 查看
https://vjudge.net/problem/UVA-12563
题意:
在一定的时间内连续唱歌,最后一首唱11分钟18秒的劲歌金曲,问最多能长多长时间。
思路:
0-1背包问题,背包容量为t-1,因为至少还要留1秒钟来放劲歌金曲。还需要注意的是题目要求的是在唱最多首歌的情况下所能唱的最长时间,所以这里我们来限制一下时间,对于j时刻,我们要求正好唱完这首歌,那么这样唱的歌肯定是最多的。
题意:
在一定的时间内连续唱歌,最后一首唱11分钟18秒的劲歌金曲,问最多能长多长时间。
思路:
0-1背包问题,背包容量为t-1,因为至少还要留1秒钟来放劲歌金曲。还需要注意的是题目要求的是在唱最多首歌的情况下所能唱的最长时间,所以这里我们来限制一下时间,对于j时刻,我们要求正好唱完这首歌,那么这样唱的歌肯定是最多的。
#include<iostream> #include<algorithm> #include<cstring> using namespace std; const int maxn = 5000+5; int a[maxn], d[maxn], t, n; int main() { int cas,kase=0; cin >> cas; while (cas--) { memset(d, -1, sizeof(d)); d[0] = 0; cin >> n >> t; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < n;i++) for (int j = t - 1; j >= a[i]; j--) d[j] = max(d[j], d[j - a[i]] + 1); int cnt = 0, sum; for (int i = 0; i < t; i++) { if (d[i] >= cnt) { cnt = d[i]; sum = i; } } printf("Case %d: %d %d\n", ++kase, cnt+1, sum + 678); } return 0; }
相关文章推荐
- 01背包,恰好装满(劲歌金曲,uva 12563)
- UVA 12563 劲歌金曲(0-1背包变形~)
- UVA12563: Jin Ge Jin Qu hao(类01背包)
- 紫书动规 例题9-5 UVA - 12563 Jin Ge Jin Qu hao dp-01背包
- UVA12563 Jin Ge Jin Qu hao(DP, 背包+技巧)
- UVA-12563 01背包
- [Uva12563] Jin Ge Jin Qu hao (完全背包,dp)
- uva 12563劲歌金曲
- UVa 12563 - Jin Ge Jin Qu hao(类01背包,白书)
- uva12563劲歌金曲与LCS
- Jin Ge Jin Qu hao UVA - 12563(背包dp)
- 01背包 uva12563+运算符重载
- UVA 12563 Jin Ge Jin Qu hao 01背包变形
- uva12563(01背包变形,多条件最优解)
- uva 12563 Jin Ge Jin Qu hao (01背包变形)
- UVA 12563 Jin Ge jin Qu [h] ao 劲歌金曲 (01背包)
- UVa12563_劲歌金曲(动态规划_01背包变形)
- UVA12563 01背包
- UVA12563 0-1背包 (一位数组)
- uva 12563 劲歌金曲