由于能放两次,那么分类,

1、连续使用,(这个直接O(n^2)暴力)

2、分开使用。

分开使用的话,首先暴力枚举,用T时间,能从第1个位置,唱到第几首歌,然后剩下的就是从pos + 1, n这个位置,用T时间,最多能省多少体力。这个可以预处理 + rmq搞了。

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>#define IOS ios::sync_with_stdio(false)
using namespace std;
#define inf (0x3f3f3f3f)
typedef long long int LL;#include <iostream>
#include <sstream>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <string>
#include <bitset>
const int maxn = 1e3 + 20;
int t[maxn];
int val[maxn];
int T, H, n;
int mx[maxn];
int dp_max[maxn][20];
void init() {for (int i = 1; i <= n; ++i) {int tot = 0, useTime = 0;for (int j = i; j <= n; ++j) {useTime += t[j];if (useTime > T) break;tot += val[j];}mx[i] = tot;}for (int i = 1; i <= n; ++i) {dp_max[i][0] = mx[i];}for (int j = 1; j < 20; ++j) {for (int i = 1; i + (1 << j) - 1 <= n; ++i) {dp_max[i][j] = max(dp_max[i][j - 1], dp_max[i + (1 << (j - 1))][j - 1]);}}
}
int ask(int be, int en) {if (be >  en) return 0;int k = (int)log2(en - be + 1.0);return max(dp_max[be][k], dp_max[en - (1 << k) + 1][k]);
}
void work() {scanf("%d%d%d", &T, &H, &n);int hurt = 0;for (int i = 1; i <= n; ++i) {scanf("%d%d", &t[i], &val[i]);hurt += val[i];}init();int mxsave = 0, ans = 0;for (int i = 1; i <= n; ++i) {int useTime = 0;int tot = 0;for (int j = i; j <= n; ++j) {useTime += t[j];if (useTime > 2 * T) {break;}tot += val[j];}mxsave = max(mxsave, tot);}ans = H - (hurt - mxsave);for (int i = 1; i <= n; ++i) {int tot = 0, useTime = 0;for (int j = i; j <= n; ++j) {useTime += t[j];if (useTime > T) break;tot += val[j];int res = ask(j + 1, n);mxsave = max(mxsave, tot + res);}}ans = max(ans, H - (hurt - mxsave));ans = max(ans, 0);cout << ans << endl;
}int main() {
#ifdef localfreopen("data.txt", "r", stdin);
//    freopen("data.txt", "w", stdout);
#endifwork();return 0;
}

View Code

转载于:https://www.cnblogs.com/liuweimingcprogram/p/6411617.html

scau 17967 大师姐唱K的固有结界 分类暴力 + RMQ相关推荐

  1. scau 17967 大师姐唱K的固有结界

    17967 大师姐唱K的固有结界 该题有题解 时间限制:1000MS  内存限制:65535K 提交次数:41 通过次数:8 收入:107 题型: 编程题   语言: G++;GCC;VC   Des ...

  2. 17967 大师姐唱K的固有结界

    17967 大师姐唱K的固有结界 该题有题解 时间限制:1000MS  内存限制:65535K 提交次数:41 通过次数:8 收入:107 题型: 编程题   语言: G++;GCC;VC Descr ...

  3. Wework考虑出售旗下公司,特斯拉能看电影和唱K!|每周硅谷热闻 ​

    硅谷Live / 实地探访 / 热点探秘 / 深度探讨 大家好!国庆小长假即将来啦,硅谷小伙伴们没得放假--所以,硅谷热闻照旧!到底上周硅谷都发生了哪些科技最新动态呢?小探赶紧带你来看!无论是Wewo ...

  4. 0206.BFPRT在一大堆数中求其前k大或前k小的问题,简称TOP-K问题(左神算法基础班源码)

    package basic_class_02;/*** * 在一大堆数中求其前k大或前k小的问题,简称TOP-K问题.* 而目前解决TOP-K问题最有效的算法即是BFPRT算法**/ public c ...

  5. 2006-03-05 20:41又是唱k

    算起来又是很长一段时间没有写日志了,又犯懒了哈哈. 放假在家里都没看书,好好在家里养了一个月的猪(oO) 知道弟弟平时成绩退步还会去网吧,自己也很心痛又没法教,希望他自己早一天领悟到良苦用心了吧- 来 ...

  6. KNN(K Nearest Neighbors)分类是什么学习方法?如何或者最佳的K值?RadiusneighborsClassifer分类器又是什么?KNN进行分类详解及实践

    KNN(K Nearest Neighbors)分类是什么学习方法?如何或者最佳的K值?RadiusneighborsClassifer分类器又是什么?KNN进行分类详解及实践 如何使用GridSea ...

  7. k近邻算法(KNN)-分类算法

    k近邻算法(KNN)-分类算法 1 概念 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. k-近邻算法采用测量不同特征值之间的 ...

  8. 重庆人最爱汗蒸,东莞人最爱唱K?美团大数据分析

    美团是中国最大的团购和线下服务公司,为用户提供衣食住行等各种生活服务,它是线下经济的一面镜子. 最近抓取了美团数据,期望通过对美团大数据的分析,发现空缺的市场,同时也发现了一些有趣的结论. 数据来源 ...

  9. 手机麦克风声音太大_全民K歌必备利器,得胜PH-125手机K歌麦克风让你轻松拥有好声音...

    现在KTV已经不能满足我们想要随时随地K歌的需求了,很多像全民K歌这类型的K歌APP也是一片火热.大家有没有发现一个现象,在现场自己唱的还不错,但是听了录音后发现声音干巴巴的.其实,声音也可以像容貌一 ...

最新文章

  1. 从URL中获取搜索关键字
  2. Python 使用readability 提取网页标题
  3. 【消息中间件】浅谈中间件优缺RabbitMQ基本使用
  4. 在SQL2005/SQL2008中CTE用法差异
  5. php 单例模式 单态模式
  6. linux ps 命令使用
  7. MVVM架构~前台后台分离的思想与实践
  8. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.22. 子查询表达式
  9. trie树 Codeforces Round #367 D Vasiliy's Multiset
  10. 程序的编译与链接、预处理符号、指令
  11. java二维数组详解
  12. Flex Builder 3.0正式版+破解补丁
  13. 计算机软件429修复工具,运行时错误 429,ActiveX部件不能创建对象的解决方法小结...
  14. 大数据管理平台-数据处理与数据集市
  15. Linux:MLX90614驱动
  16. 蒙纳士大学提出高效建模高低频信息的LITv2,在性能、FLOPs、吞吐量和显存消耗方面均优于现有Transformer结构!...
  17. 书翻页效果php,Css实现翻书效果
  18. Android 简单的折叠布局,上滑监听透明度
  19. linux 声音网络推送,这是一篇有声音的推送
  20. 阿里云视频云推出低代码音视频工厂vPaaS

热门文章

  1. 解决Windows无法加载MTP设备
  2. 这些年,我用过的良心网站,分享给大家
  3. formatter 作用
  4. java code formatter,Eclipse Code Formatter在IDEA中配置
  5. 【随手记】浏览器的高级API
  6. GAMES101-现代计算机图形学入门-闫令琪 - lecture13 光线追踪1(Ray Tracing 1 - Whitted-Style Ray Tracing) - 课后笔记
  7. KD tree 实现
  8. conda更新安装github下载的本地压缩包(zip)
  9. 自定义View之王者荣耀等级进度条
  10. debug版没有问题而release版本无法运行的问题