uva 12563 Jin Ge Jin Qu hao (01背包变形)
来源:互联网 发布:前端ajax请求php文件 编辑:程序博客网 时间:2024/05/22 12:07
题目地址:点击打开链接
题意:求在给定时间内,最多能唱多少歌曲,在歌曲最多的情况下,使唱的时间最长,时间到时如果当前歌还没结束,那会等该歌结束。
思路:类似01背包,歌曲时长作为重量,价值都为1,求t-1内最多能放多少歌,在歌曲最多的情况下再更新最后一首歌最晚能什么时候结束。不同于01背包的时,这里要求每首歌连续播放,所以在决策时要加一个条件,这首歌正好在这个时间点播放完。
参考:点击打开链接
代码:
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn = 1e2+5;int ti[maxn], dp[50*200+678];int main(void){ int T, t, n, ca = 1; cin >> T; while(T--) { scanf("%d%d", &n, &t); for(int i = 1; i <= n; i++) scanf("%d", &ti[i]); int maxNum = 0, maxTime = 0; memset(dp, 0, sizeof(dp)); for(int i = 1; i <= n; i++) for(int j = t-1; j-ti[i] >= 0; j--) { if(j == ti[i] || dp[j-ti[i]])//要求正好能放完 { dp[j] = max(dp[j], dp[j-ti[i]]+1); if(dp[j] > maxNum) maxNum = dp[j], maxTime = j; if(dp[j] == maxNum) maxTime = max(j, maxTime); } } printf("Case %d: %d %d\n", ca++, maxNum+1, maxTime+678); } 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背包
- UVa 12563 Jin Ge Jin Qu hao(01背包)
- UVA 12563 Jin Ge Jin Qu hao(01背包变形:两个背包内容)
- UVA 12563 Jin Ge Jin Qu hao(01背包变形:两个条件最优化)
- UVaOJ 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
- caffe学习笔记6-matlab接口总结
- PC端发送到Kindle小程序
- 什么是编译性语言、解释性语言和脚本语言
- pip安装报错:is not a supported wheel on this platform
- JSP简单标签的开发
- uva 12563 Jin Ge Jin Qu hao (01背包变形)
- 深入浅出java入门 之 带参带返回值方法的使用
- Mysql记录0305
- 概念:进程等
- Leetcode刷题记—— 73. Set Matrix Zeroes(设置矩阵0)
- 卡方数学相关推到
- phtoshop切图的几种方式
- 简析TCP的三次握手与四次分手
- 牛客网 剑指Offer,一些值得记住的小题(一)