UVa12563 -Jin Ge Jin Qu hao(DP)
来源:互联网 发布:阴阳师网络剧 编辑:程序博客网 时间:2024/05/28 20:19
UVa12563 -Jin Ge Jin Qu hao.
题意:有n首歌(劲歌金曲除外),每首歌都有一个时间,然后给定一个时间t,问在给定的时间内最多能唱的歌曲数目以及能唱的最长时间,如果已经到了时间限制t,但是还没唱完,那么可以唱完这首歌。
分析:每首歌最多180秒,而劲歌金曲有678s,首先得保证唱的歌曲数目最多,之后保证时间更长。
留1s唱劲歌金曲就行了。然后就是个01背包,只是规划时根据题目要求来就行了。
这个题目中t给定的范围很大,看似无法进行DP,但是这个分析题目便可以知道总共唱的时间不会超过180*n+678,所以不存在问题,之前做一个题目poj3260时就被坑过,根据数据估计的范围很大,时间复杂度难以承受,但是就题目本身而言,分析可知根本不可能达到这么大,所以还是可以在时间范围解决的。
有些题目总会存在各种各样的坑点,看似无法解决,其实只差一步而已。
#include <algorithm>#include <cstring>#include <cstdio>#include <cmath>#define INF 0x3f3f3f3f#define LL long longusing namespace std;struct st{ int cnt, time;}dp[100000];int a[100];int main(){ int t, k = 0, n, T, sum; scanf("%d", &t); while (t--){ scanf("%d %d", &n, &T); sum = 0; for (int i = 0; i < n; i++) scanf("%d", a+i), sum += a[i]; int tmp = min(T-1, sum); memset(dp, 0, sizeof(dp)); for (int i = 0; i < n; i++){ for (int j = tmp; j >= a[i]; j--){ st &t = dp[j-a[i]], &s = dp[j]; if (t.cnt+1 > s.cnt || (t.cnt+1 == s.cnt && t.time+a[i] > s.time)){ s.cnt = t.cnt+1; s.time = t.time+a[i]; } } } printf("Case %d: %d %d\n", ++k, dp[tmp].cnt+1, dp[tmp].time+678); } return 0;}
0 0
- UVa12563 -Jin Ge Jin Qu hao(DP)
- UVA12563 Jin Ge Jin Qu hao(DP, 背包+技巧)
- UVa12563--Jin Ge Jin Qu hao DP(01背包)
- UVa12563 -Jin Ge Jin Qu hao(DP) 01背包
- UVa12563 Jin Ge Jin Qu hao
- uva12563 Jin Ge Jin Qu hao
- UVA12563 - Jin Ge Jin Qu hao
- UVA12563 Jin Ge Jin Qu hao
- uva12563 jin ge jin qu hao
- UVa12563 Jin Ge Jin Qu hao
- uva12563 Jin Ge Jin Qu
- Jin Ge Jin Qu UVa12563
- UVA12563 - Jin Ge Jin Qu hao(01背包)
- UVA12563 Jin Ge Jin Qu hao(背包问题)
- UVA12563: Jin Ge Jin Qu hao(类01背包)
- 动态规划入门 UVA12563 Jin Ge Jin Qu hao
- 【动态规划】[UVA12563]Jin Ge Jin Qu hao 劲歌金曲
- 【紫书】(UVa12563)Jin Ge Jin Qu hao
- rman还原归档时报RMAN-20242错误分析和处理
- 从源码出发深入理解 Android Service
- Linux下设置Tomcat自启动
- 简单集成热修复,实现在线修复bug而不是更新APP
- 定制化属于你的Linux镜像
- UVa12563 -Jin Ge Jin Qu hao(DP)
- 面向对象程序设计上机练习三(有默认参数的函数)
- [vijos1897]学姐吃牛排(dfs+heap+bst)
- oracle数据库备份和还原问题
- apache的rewrite规则
- 水洼 POJ2386 挑战程序设计竞赛
- struts1和struts2的区间
- python使用基础随记
- JS核心系列:浅谈原型对象和原型链