精力(power)
【问题描述】
假设你有一个属性叫”精力值”, 这个属性的上限为 E, 一开始你的精力值
为 E.每天结束时, 该属性会回复 R,但回复后不会超过上限 E。 现在有 N 天时
间给你去工作, 若第 i 天花费 K 的体力值去工作,那么你可以获得 V[i] * K 的
金钱。
问你这 N 天的最大收益是多少
【输入格式】
第一行一个整数 case,表示数据组数。
对于每一组数据, 第一行有三个整数 E, R, N, 第二行 N 个整数描述
V[1]~V[n]
【输出格式】
对于每组数据, 输出你的最大收益
【输入样例】
1
5 2 2
2 1
【输出样例】
12
【样例解释】
第一天用 5 体力, 接下来回复 2 点体力, 用光。
首先我们贪心,在越大的v是分配最多的体力
因为有体力回复的机制,所以不能一味分给最大的
考虑i-1和i,假设h[i]>h[i-1]
那么可以先将体力全部分给i-1,在把i-1的体力转给i
类似的用单调栈,维护一个单调递减的单调栈
设j=q[tail],且h[i]>h[j],j所用体力为rest[tail],i使用体力为p,显然p初始为R
则p+=min(m-p,rest[tail])
这里有个条件,p<m&&h[q[tail]]<h[i]
因为栈单调递减,所以尽量只把前面的且比h[i]小的体力转移,且总体力要<=m
q[tail]出栈代表体力已经转完了
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int gi()
{
char ch=getchar();
while (ch<''||ch>'')ch=getchar();
int x=;
while (ch>=''&&ch<='')
{
x=x*+ch-'';
ch=getchar();
}
return x;
}
long long s,r,n,a[],rest[],q[];
long long ans;
int main()
{int T,i,j,tail;
freopen("power.in","r",stdin);
freopen("power.out","w",stdout);
cin>>T;
while (T--)
{tail=;
ans=;
scanf("%lld%lld%lld",&s,&r,&n);
if (r>=s)
{
for (i=;i<=n;i++)
a[i]=gi(),ans+=a[i]*s;
cout<<ans;
}
else
{
int p=s;
for (i=;i<=n;i++)
{
a[i]=gi();
while (tail&&q[tail]<a[i]&&p<s)
{
int w=min(s-p,rest[tail]);
ans-=a[tail]*w;
p+=w;tail--;
}
tail++;
q[tail]=a[i];
ans+=a[i]*p;
rest[tail]=p;
p=r;
}
cout<<ans<<endl;
}
}
}
精力(power)的更多相关文章
- 微软新神器-Power BI横空出世,一个简单易用,还用得起的BI产品,你还在等什么???
在当前互联网,由于大数据研究热潮,以及数据挖掘,机器学习等技术的改进,各种数据可视化图表层出不穷,如何让大数据生动呈现,也成了一个具有挑战性的可能,随之也出现了大量的商业化软件.今天就给大家介绍一款逆 ...
- 第二篇:Power BI数据可视化之基于Web数据的报表制作(经典级示例)
前言 报表制作流程的第一步显然是从各个数据源导入数据,Power BI能从很多种数据源导入数据:如Excel,CSV,XML,以及各类数据库(SQL Server,Oracle,My SQL等),两大 ...
- 第一篇:Power BI数据可视化概述
前言 "可视化之工具,可爱者甚蕃.统计学家独爱R,自Python来,世人盛爱matplotlib.余独爱Power BI之出微软而不染(免费),濯Office而不妖(够精简).......& ...
- .NET CORE 框架ABP的代码生成器(ABP Code Power Tools )使用说明文档
前言 各位好,又是一个多月没更新文章了. 原因嘛,大家都懂的,太忙了~ 临近年末,公司的项目.年会的做技术支持,同事朋友聚餐也比较频繁. 当然视频教程也没有继续更新.我的锅~ 但是这个月好歹抽空做了一 ...
- HDU 6034 Balala Power!【排序/进制思维】
Balala Power![排序/进制思维] Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java ...
- 小目标 | Power BI新人快速上手手册
· 适用人群:数据分析专业人士,在数据分析方向需求发展人士 · 应用场景:数据汇报.数据可视化展现.数据建模分析 · 掌握难度:★★★★☆ 本期讲师 『PowerPivot工坊』公众号提供Power ...
- Linux power supply class(1)_软件架构及API汇整【转】
1. 前言 power supply class为编写供电设备(power supply,后面简称PSY)的驱动提供了统一的框架,功能包括: 1)抽象PSY设备的共性,向用户空间提供统一的API. 2 ...
- Power Platform之Power Automate新增RPA功能
什么是RPA RPA( Robotic Process Automation 机器人流程自动化软件),是一种新型的人工智能的虚拟流程自动化机器人.RPA的核心是通过自动化.智能化技术来“替代人”进 ...
- 三天读完调整自己每天的精力——读书笔记(Unfinished)
近段时间精力低下,读了一本Jim Loehr的The Power full engagement 精力管理的书,我们有时候往往不是时间规划不够,而是没有规划好自己的精力. 橙色字体是自己对于这本书的现 ...
随机推荐
- Build to win--来自小黄衫
写在前面 首先非常荣幸.非常侥幸能以微弱的优势得到这次小黄衫,感谢各位老师同学的帮助,也谢谢来自<构建之法>团队的小黄衫赞助! 这次能够获得小黄衫,就像汪老师上课说的那样,其实,是一个积累 ...
- 冲刺NO.5
Alpha冲刺第五天 站立式会议 项目进展 今日项目完成内容主要包括了JS的学习,事务管理员模块与学生模块的完善与补充,并且开始编写信用信息管理模块和奖惩事务管理模块. 问题困难 前端部分的技术掌握的 ...
- js 选择图片生成base64数据
<!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...
- JFinal项目发送邮件——jfinal-mail-plugin
JFianl框架: JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java语言所有 ...
- Mongodb中 Documents文档说明
mongodb使用BSON格式存储数据记录. 如下图: 文档结构 文档有键值对组成, 有以下结构: { field1: value1, field2: value2, ... ...
- STL之queue
描述 使用STL中的queue,完成入队.出队.获取队首.获取队尾等基本操作. 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码. int main() { queue<int> ...
- django models的点查询/跨表查询/双下划线查询
django models 在日常的编程中,我们需要建立数据库模型 而往往会用到表与表之间的关系,这就比单表取数据要复杂一些 在多表之间发生关系的情形下,我们如何利用models提供的API的特性获得 ...
- MySQL“Another MySQL daemon already running with the same unix socket” 报错信息处理
Mysql "Another Mysql daemon already running with the same unix socket" 解决办法:rm var/lib/mys ...
- Linux--初次体验
关于Linux已经听闻很久的大名了,但是一直没有机会来使用,这次趁着放假的机会,来体验一把Linux吧. 之前使用visuabox和Ubuntu16,但是虚拟机总是不能连接互联网,在虚拟机上面无法上网 ...
- myeclipse的导航器
在myeclipse的导航器下面可以看到编译后的文件目录结构 如何打开导航器试图呢? 窗口->显示视图->导航器 windows->show view->Navigator 这 ...