劲歌金曲
题意:
两个优化:
①唱歌次数最大
②时间最长
以①为首选条件

01背包模型,歌曲就是物品,时长就是体积,每首歌唱或不唱就对应物品的选或不选。
核心代码:
状态:
num[i],表示时长为i时的唱歌数量最大值;
d[i]表示时长为i最长的唱歌时间。
优先更新num[],如果num可以更新,那么d[]必须同时更新

        for(int i=1;i<=n;i++){scanf("%d",&v);for(int j=t-1;j>=v;j--){if(num[j-v]+1>num[j] || (num[j-v]+1==num[j] && d[j-v]+v >d[j] )){num[j]=num[j-v]+1;d[j]=d[j-v]+v;}}}
#include<stdio.h>
#include<iostream>
#include<cmath>
#include<math.h>
#include<string>
#include<string.h>
#include<algorithm>
#include<queue>
#include<vector>
#define ms0(a) memset(a,0,sizeof(a))
#define ll long long
#define INF 0x3f3f3f3f
using namespace std;
const int maxn = 10000;
int ncase,d[maxn],num[maxn];
int main(){cin>>ncase;for(int T=1;T<=ncase;T++){int n,t,v;ms0(d);ms0(num);scanf("%d%d",&n,&t);for(int i=1;i<=n;i++){scanf("%d",&v);for(int j=t-1;j>=v;j--){if(num[j-v]+1>num[j] || (num[j-v]+1==num[j] && d[j-v]+v >d[j] )){num[j]=num[j-v]+1;d[j]=d[j-v]+v;}}}printf("Case %d: %d %d\n",T,num[t-1]+1,d[t-1]+678);}return 0;
}

UVA-12563劲歌金曲——双重优先条件+变形01背包相关推荐

  1. UVA - 12563 劲歌金曲(DP 01背包)

    题目 KTV里面有n首歌曲你可以选择,每首歌曲的时长都给出了(每首歌时长不超过3min). 对于每首歌曲,你最多只能唱1遍. 现在给你一个时间限制t (t<=10^9) , t实际不会超过(18 ...

  2. UVA 12563 劲歌金曲 Jin Ge Jin Qu hao

    劲歌金曲 Jin Ge Jin Qu hao 题面翻译 (如果当你看到这个标题的时候笑了,那么这个问题是为你准备的ヽ( ̄▽ ̄)ノ) 如果问一个麦霸:"你在KTV里必唱的曲目有哪些?" ...

  3. uva 12563 劲歌金曲

    先介绍自己写的,比较循规蹈矩的方法.dp(i,j)表示必须在j时间内结束,在i,i+1,,,,n首歌中选择,可以唱的最大歌曲数 (包含jq) sing(i,j)表示在这个状态.歌曲数取最大的情况下,可 ...

  4. uva 12563劲歌金曲

    动态规划例题 在规定的时间内要唱最多的歌但最后要留出时间唱劲歌金曲,求唱最多的歌的个数以及此时的最长时间 源码 #include<stdio.h> #include<string.h ...

  5. UVA 12563 劲歌金曲(滚动数组)

    这道题练习了滚动数组,不过跟0-1背包问题有点不同,为了记录准确时间,通过设置条件把无用状态剔出来,消除了错误时间,f[i]表示i时,唱了多少首歌. #include<bits/stdc++.h ...

  6. UVa 12563 - Jin Ge Jin Qu hao(01背包)

    给出剩余时间和想唱的歌,求最多能唱几首和最长时间. 较为简单的01背包问题,在算数目的时候顺便计算时间就好. #include<iostream> #include<cstring& ...

  7. 12563 劲歌金曲

    ##动态规划,01背包 title:UVa12563 #include <bits/stdc++.h> using namespace std; const int N = 55, M = ...

  8. 劲歌金曲 UVA 12563

    劲歌金曲 UVA 12563 (If you smiled when you see the title, this problem is for you ^_^) For those who don ...

  9. 例题 9-5 劲歌金曲(Jin Ge Jin Qu [h]ao Rujia Liu‘s Present 6, UVa 12563)

    原题链接:https://vjudge.net/problem/UVA-12563 分类:背包问题 备注:0-1背包变形 注意:千万不要包括给的时间t,因为劲歌金曲是必须要唱的! #include&l ...

最新文章

  1. 分布式环境下的并发问题
  2. 三个小命令检查电脑!
  3. 算法导论学习笔记 6.5 优先队列
  4. 201671010135 2016--2017java程序设计对java的初步认识和对第一,二章的总结(0)
  5. Qt工作笔记-时QLabel具有点击事件(使用EventFilter)
  6. JSP中鼠标禁用代码
  7. ALGORITHMS
  8. AcWing 1987. 粉刷栅栏(离散化+差分)
  9. 使用Idea搭建Spring Boot环境
  10. IE中getElementById的Bug
  11. 我的大学专业是计算机英语作文,我的大学计划英语作文(通用5篇)
  12. VUE 完整项目构建 (1) -- 初始化
  13. 软件工程项目迭代周报(一)
  14. react-native 修改app应用名称
  15. 内连接、左外连接与右外连接的区别及作用介绍
  16. 中国公司的「强」盛、拼多多「翻车」和吃不了的播 | 极客一周
  17. 现代信息系统主要是基于计算机的,科学网—管理信息系统建设导论 - 张利华的博文...
  18. 算法实现: 在二叉树中找到两个节点的最近公共祖先
  19. 上海快递代理点信息-百度坐标
  20. python时间函数纳秒_在Python中以秒和纳秒获取POSIX / Unix时间?

热门文章

  1. python无法启动此程序、因为文件损坏_python报错:无法启动此程序,因为计算机中丢失...
  2. 读《世界因我而不同》
  3. js合并两个数组对象并且去掉重复的内容(map结合find)
  4. 实现Postman+Newman+Git+Jenkins+钉钉/邮件提醒接口自动化测试持续集成
  5. Android开发模式之RxJava+Retrofit+MVP(kotlin)
  6. 计算机科学、软件工程、信息工程专业!计算机专业该如何选择!
  7. JavaScript 线程
  8. Js获取 数组或对象 的长度
  9. 通达信捉妖改良CCI指标公式,简洁巧妙
  10. 主成分与因子分析异同_如何做主成分分析和因子分析?它们的区别与联系在哪里?...