UVA 12563 Jin Ge Jin Qu hao 01背包
来源:互联网 发布:域名可以一年一年续费 编辑:程序博客网 时间:2024/06/06 03:28
题意:在KTV里,你还剩余T秒的时间来唱歌。现在有N首歌曲,给出每首曲子的时间。同时还有一首必唱的,时间为678秒的歌曲。现在让你最大化唱的歌曲的数量,在此前提下,让自己唱的时间足够长。
思路:对于每首歌曲的选择,只有两种,选或者不选,这就是标准的01背包。因为最终要的要求是最大化歌曲的数量,所以我们定义状态dp[i]为唱歌时间小于等于i的时候,唱的最多的歌曲数目。然后记录最大值即可。
代码如下:
#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int MAX = 10010;int dp[MAX],a[MAX];int main(void){ //freopen("input.txt","r",stdin); int T,N,S; scanf("%d",&T); for(int cas = 1; cas <= T; ++cas){ scanf("%d%d",&N,&S); for(int i = 0; i < N; ++i) scanf("%d",a+i); memset(dp,-1,sizeof(dp)); dp[0] = 0; int ans = 0; for(int i = 0; i < N; ++i) for(int j = 10000; j >= 0; --j) if(dp[j] != -1 && j+a[i] < S) ans = max(ans,dp[j+a[i]] = max(dp[j+a[i]],dp[j]+1)); for(int i = S - 1; i >= 0; --i){ if(dp[i] == ans){ printf("Case %d: %d %d\n",cas,dp[i]+1,i+678); break; } } } return 0;}
0 0
- UVA - 12563 Jin Ge Jin Qu hao (01背包)
- UVA 12563 Jin Ge Jin Qu hao 01背包
- UVa 12563 Jin Ge Jin Qu hao(01背包)
- UVA 12563 Jin Ge Jin Qu hao 01背包变形
- UVa 12563 - Jin Ge Jin Qu hao(01背包)
- UVa 12563 - Jin Ge Jin Qu hao(01背包)
- Jin Ge Jin Qu hao - UVa 12563 dp背包
- uva 12563 - Jin Ge Jin Qu hao
- UVa 12563 Jin Ge Jin Qu hao
- UVa - 12563 - Jin Ge Jin Qu hao
- UVA - 12563 Jin Ge Jin Qu hao
- UVA 12563:jin ge jin qu hao
- uva 12563Jin Ge Jin Qu hao
- uva 12563 Jin Ge Jin Qu hao
- UVA 12563 Jin Ge Jin Qu hao
- UVA 12563 Jin Ge Jin Qu hao
- UVA 12563 Jin Ge Jin Qu hao
- UVaOJ 12563 Jin Ge Jin Qu hao(01背包)
- softirq / tasklet / work queue 的区别
- 用JDK中的 jps、jinfo、jstat、jstack、jmap、jconsole等命令对JVM,内存,线程进行分析和故障诊断
- 用什么语言进行网页开发最好.php与asp语言的区别
- 1059. Prime Factors (25)
- Android开发之ListView 适配器(Adapter)优化
- UVA 12563 Jin Ge Jin Qu hao 01背包
- js冒泡事件
- js基础巩固之--变量类型以及声明
- 数据可视化:基本图表
- LeetCode 3Sum Closest
- day05-servlet
- 第一章 python中的变量
- 【难】【数学】斐波那契数列的O(logn)解法
- [Debug]Android 编辑xml中Incorrect line ending错误解决方法