P2422 良好的感觉
https://www.luogu.com.cn/problem/P2422
题目描述
kkk 做了一个人体感觉分析器。每一天,人都有一个感受值 A_iAi,A_iAi 越大,表示人感觉越舒适。在一段时间 \left[i, j\right][i,j] 内,人的舒适程度定义为 \left[i, j\right][i,j] 中最不舒服的那一天的感受值 \times× \left[i, j\right][i,j]中每一天感受值的和。现在给出 kkk 在连续 NN 天中的感受值,请问,在哪一段时间,kkk 感觉最舒适?
输入格式
第一行为 NN,代表数据记录的天数。
第二行 NN 个整数,代表每一天的感受值。
输出格式
一行,表示在最舒适的一段时间中的感受值。
输入输出样例
输入 #1复制
6 3 1 6 4 5 2
输出 #1复制
60
说明/提示
kkk 最开心的一段时间是第 33 天到第 55 天,开心值:(6+4+5)\times4=60(6+4+5)×4=60。
对于 30\%30% 的数据,1\le N\le 1001≤N≤100。
对于 70\%70% 的数据,1\le N\le 20001≤N≤2000。
对于 100\%100% 的数据,1\le N\le 1000001≤N≤100000,1\le \texttt{感受值}\le 10000001≤感受值≤1000000。
最开始自己的想法是先ST表预处理,然而发现这个l,r是不固定的,这样去做O(n^2)的。然后看到有些大佬 单次枚举求解(二分+区间最小检验) emm当然神仙们的过题办法很多。
这里的想法是转化一下枚举的思路,最小值只有n个,那我们判最小值为n时,以这个n为中心向两边拓展,找到小于n的位置,两边同时找到这样的区间就是最大的和区间。暴力的话选择一个i,再O(n)去扫一遍。O(n^2)
再进行优化就是O(n)单调栈预处理出每个点的左右极限区间
用单调栈求出左边第一个比当前元素i小的元素记作Li,右边为Ri,于是我们可以再求一遍前缀和,最后这个元素对应的答案就是:(sum[R[i]-1]-sum[L[i]]) * a[i]
对单调栈的模拟:
样例:3 1 6 4 5 2
{3}
R[1]=2;(以后R[X]=I中X和I都是下标)
{1}
{1,6}
R[3]=4;
{1,4}
{1,4,5}
R[5]=6;
{1,4}
R[4]=6;
{1}
{1,2}
然后发现还有两个点的最右端区间点没有找到,说明这时候栈里面的元素的最右端的节点是n+1;
左端同理;
#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=1e5+10;
typedef long long LL;
LL n,m;
LL a[maxn];
LL R[maxn];
LL L[maxn];
LL sum[maxn];
LL stack[maxn];
LL top=0;
int main(void)
{LL n;cin>>n;for(LL i=1;i<=n;i++) cin>>a[i];for(LL i=1;i<=n;i++) sum[i]=sum[i-1]+a[i];//top表示在栈中顶头元素是栈中从左往右数的第几个 //栈头在右边 for(LL i=1;i<=n;i++){while(top!=0&&a[stack[top]]>=a[i]) R[stack[top]]=i,top--;stack[++top]=i;}for(LL i=1;i<=top;i++) R[stack[i]]=n+1;top=0;//栈头在左边 for(LL i=n;i>=1;i--){while(top!=0&&a[stack[top]]>=a[i]) L[stack[top]]=i,top--;stack[++top]=i;}for(LL i=1;i<=top;i++) L[stack[i]]=0;LL ans=-0x3f3f3f3f;for(LL i=1;i<=n;i++){ans=max(ans,a[i]*(sum[R[i]-1]-sum[L[i]]));}cout<<ans<<endl;return 0;
}
P2422 良好的感觉相关推荐
- 单调队列-原理详解(deque实现)
一.单调队列的概念: 单调队列,即单调递减或单调递增的队列. 二.单调队列的性质: 1. 队列中的元素在原来的列表中的位置是由前往后的(随着循环顺序入队). 2. 队列中元素的大小是单调递增或递减 ...
- 用过美德乐吸奶器的宝妈们感觉比国产吸奶器怎么样啊?
药效好不好,看疗效就知道.吸奶器好不好看评价就知道.我们来看看美德乐吸奶器 天猫旗舰店 : http://medela.wang 的宝妈们的评价如可 拔奶神器,绝对好过贝亲!最初一次七八十,后来一百 ...
- ZBar与ZXing使用后感觉
[原]ZBar与ZXing使用后感觉(上) 2014-3-18阅读2011 评论1 最近对二维码比较感兴趣,还是那句老话,那么我就对比了一下zxing和zbar 如果对于这两个的背景不了解的话,可以看 ...
- k3应付系统初始化应付票据_在家工作时应付无尽干扰的真实感觉
k3应付系统初始化应付票据 Whether or not you have worked remotely before, you've likely never had to share your ...
- 女性程序员大会ghc_在女性科技大会上成为男人的感觉
女性程序员大会ghc by Elijah Valenciano 通过伊莱贾·瓦伦西亚诺 在女性科技大会上成为男人的感觉 (What It's Like to be a Man at a Women's ...
- 被人恨,但感觉不错!
做销售四年多了,从来没有碰到目前遇到的情况,心中的郁闷,真的没办法排除,干脆写到BLOG上,也算发泄,也算记录! 早两三年,一直在软件和IT服务行业打混,接触的多是企业老总,再有就是集团CIO.简简单 ...
- 感觉 Data Access Application Block(DAAB) 里也有可能写得不太好的地方
昨天下载了博客园的代码,里面有一个 Data\SqlServer.cs 我不清楚是不是 MS DAAB 里的原样文件.不过前面有声明如下: // =========================== ...
- 知乎热问:成为算法工程师的路上,掌握什么技术会感觉自我提升突飞猛进?
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:桔了个仔,南洋理工大学,Datawhale成员 这个问题我犹豫了很 ...
- 你掌握了什么概念或技术使你感觉自我提升突飞猛进?
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨沈世钧.DLing.坡哥说 来源丨知乎问答 编辑丨极市平台 本 ...
- 有一群少年班的好朋友是什么感觉?快快快快快快疯掉了!
大家好呀,因为阿广最近忙于学习,所以没太多时间更新原创的逗比文章,先给大家说句抱歉.同时最近接了不少的广告软文,我很清楚的知道没有大家的支持,就没有阿广在公众号诉说的平台,由衷的感谢经常看我文章的读者 ...
最新文章
- hadoop写文件 java_写文件 - Hadoop 学习手册_教程_Java开发社区
- c语言建立线性表(顺序储存,链式储存,循环,双向)全
- 北斗云计算机怎么样,北斗定位2.0版服务平台来了
- 网易云出现undefined symbol: fribidi_get_par_embedding_levels_ex
- exchange 删除邮件
- java 网络序_JAVA 网络程序
- ASP.NET MVC中通过Request.IsAjaxRequest()来判断是否要加载公共视图
- wordpress 更新以及下载插件:wordpress 安装失败:无法创建目录
- JVM内存管理------GC算法精解
- lamp架构部署 httpd编译、mysql二进制、php编译 网页访问效果
- 企业邮箱用户名如何设置修改?企业邮箱域名后缀选择
- 腾讯云手游安全MTP怎么样?腾讯云手游安全MTP值得入手吗?
- 商业直播平台都有哪些
- 不可错过的 7 个JS 小技巧,一定要进来瞧瞧哦
- 社保能找公司代缴吗?小心问题找上门
- 201310湛湛蓝天下的香山
- 卷积神经网络(CNN)在语音识别中的应用
- spring如何排除bean的注入
- 机器学习技术-层次聚类算法(组平均)-综合层次聚类方法(BIRCH、CURE)
- win7开启uasp协议_摆脱低速困扰,ORICO NVME M.2 SSD硬盘盒轻松搞定
热门文章
- 基于MATLAB的战术手势识别功能的设计与实现
- 20170824关于星光级和低照度你了解多少?
- 从Gaussian 09的Hartree-Fock计算的fchk文件转换到Columbus的mocoef文件的脚本
- 狂雨小说cms采集规则教程
- 【干货】32个EMC标准电路分享!
- Java对图片Base64转码--HTML对Base64解码
- 交换机设备登录账号权限1_交换机怎么设置 交换机配置方法【详解】
- 【PS】免费 使用PS批量将pdf转换成图片 pdf转图片 pdf转jpg pdf转png
- 将python随机森林模型保存到文件
- 【能量检测】基于认知无线电的能量检测算法的matlab仿真