首页 > 其他分享 >洛谷P9290 [ROI 2018] Decryption 题解

洛谷P9290 [ROI 2018] Decryption 题解

时间:2023-10-13 16:12:44浏览次数:34  
标签:ROI maxx 洛谷 minn int 题解 top while ans

include<bits/stdc++.h>

pragma GCC optimize(1)

pragma GCC optimize(2)

pragma GCC optimize(3,"Ofast","inline")

define reg register

define int long long

using namespace std;
inline int read()
{
short f=1;
int x=0;
char c=getchar();
while(c<'0'||c>'9') {if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9') {x=(x<<1)+(x<<3)+(c^48);c=getchar();}
return x*f;
}
int n,a[300010],mx[300010],mn[300010],ans;
stackmaxx,minn;
signed main()
{
n=read();
for(reg int i=1;i<=n;i=-~i) a[i]=read();
maxx.push(1);minn.push(1);
for(reg int i=2;i<=n;i=-~i)
{
while(!maxx.empty()&&a[i]>=a[maxx.top()]) mx[maxx.top()]=i,maxx.pop();
while(!minn.empty()&&a[i]<a[minn.top()]) mn[minn.top()]=i,minn.pop();
maxx.push(i);minn.push(i);
}
while(!maxx.empty()) mx[maxx.top()]=n+1,maxx.pop();
while(!minn.empty()) mn[minn.top()]=n+1,minn.pop();
for(reg int l=1,r=1;r<=n;r=-~r)
{
while(mx[r]<mn[l]&&r!=mx[r]&&r<=n) r=mx[r];
ans=-ans;l=-r;
}
return printf("%lld",ans),0;
}

标签:ROI,maxx,洛谷,minn,int,题解,top,while,ans
From: https://www.cnblogs.com/sorato/p/17762379.html

相关文章

  • Sqoop不能正常导出文件到Mysql数据库的问题解决
    之前在使用sqoop输入以下命令时bin/sqoopexport\--connectjdbc:mysql://node1:3306/journal\--usernameroot\--password123456\--tabletop_courses_by_traffic\--export-dir/user/hive/warehouse/journal.db/top_courses_by_traffic--input-fields-terminated-......
  • King's Tour 题解
    King'sTour题面大意在\(n\timesm\)的网格中构造一种从\((1,1)\)走到\((a,b)\)的方案,要求经过所有格子恰好一次,格子之间八联通。思路分析模拟赛题,赛时写了一个半小时过了(思路不是很复杂,但是需要一些分类讨论。引理:对于任意大小的矩形,一定存在从左上走到右下的方案......
  • 【多校联考NOIP#3】比赛复盘 && 题解
    A.卡牌这次比赛,一道签到题都没有。本来以为是线段树上二分。就类似于花神的数论题那道,刚开始暴力修改(修改到线段树的每一个叶子节点),然后由于boss的attack在不断增加,到了\(Att_i>=hp_j\)的时候,\(j\)这个牌顶多打一次,如果一个区间的\(max\)都小于boss的攻击力了,那么就不......
  • VMware Workstation安装安卓Android-X86
    原文:VMwareWorkstation安装安卓Android-X86最新版-..Summer-博客园(cnblogs.com) 进到这个页面的人想毕已经知道 Android-X86 是什么东东,有什么用了,这里就不浪费时间啦,不知道的自己百度吧一、准备工作 官网下载地址:https://www.android-x86.org我这里使用最新版a......
  • CF1886A Sum of Three 题解
    Question给定一个正整数N,我们需要找三个不同的整数x,y,z,使得N=x+y+z,其中下x,y,z不能被三整除solution我们把N%3会有一些余数,我们针对余数来讨论,其中我们只关注xyz的余数如果余数为0那么也就可能是1+1+1,或者2+2+2,但是考虑到xyz不同,所以如果\(xyz\%3\)相同的话,\(xyz/3\)......
  • 题解 P2188 小Z的 k 紧凑数
    题目描述小Z在草稿纸上列出了很多数,他觉得相邻两位数字差的绝对值不超过\(k\)的整数特别奇特,称其为\(k\)紧凑数。现在小Z想知道\([l,r]\)内有多少个\(k\)紧凑数,希望你帮帮他。具体思路首先,要求数的个数,自然想到数位dp。然后可以用容斥原理拆询问。\[ans=\sum_{......
  • CF1886C Decreasing String 题解
    题面\(S_n\)由\(S_{n-1}\)去掉一个字母得到,\(S=S_1+S_2+...+S_n\)给定\(S_1\)求\(S\)的第\(N\)位solution我们先考虑怎样去字母能保持字典序最小显然,我们发现如果一个字母比前面那个字母小,那么我们就要删除前面那个字母也就是我们要删除一些字母,保持剩余的字母单调......
  • CF1886B Fear of the Dark 题解
    QuestionMonocarp在一个二维平面上,他的初始点在\(O=(0,0)\),他需要到\(P(P_x,P_y)\)不幸的是,他能走的范围在两个圆内,我们给出了两个圆的坐标\(A=(A_x,A_y)\),\(B=(B_x,B_y)\)两个圆的半径相同,我们需要找到最小的半径让Monocarp能同\(O\)走到\(P\)Solution这题可以......
  • android studio配置 compileOnly、implementation、api使用
    implementation:作用是编译同时打包,且当前mudule打包的aar或jar,不能被引用当前module的模块引用。api:作用是编译同时打包,且当前mudule打包的aar或jar,能被引用当前module的模块引用。compileOnly:作用是只编译不打包。比如项目中要引用aarA,如果项目中其他模块已经引用打包过了......
  • Android WebRTC 编译注意事项
    AndroidWebRTC编译注意事项说明文主要适用于需要从外部C++文件调用WebRTCC++接口的场景本文对应的源码基于m111分支,高版本的也可以参考Android平台用默认参数编译AndroidWebRTC存在的主要问题RTTI默认未开启C++库默认使用了webrtc内部的C++库,与外部C++库abi不兼容,由......