首页 > 其他分享 >[COCI2020-2021#5] Po

[COCI2020-2021#5] Po

时间:2024-09-10 21:14:14浏览次数:11  
标签:柱子 COCI2020 int 2021 序列 Po

[COCI2020-2021#5] Po

题意

给出一个序列 \(a\),有一个序列 \(b\),初始全为 \(0\)。

可以对序列 \(b\) 进行如下操作:使一个连续的区间内的所有数加上一个正整数 \(x\)。

但要求任意两个操作区间要么互不相交,要么一个包含另外一个。

求将序列 \(b\) 变为序列 \(a\) 的最小操作次数。

思路

使用单调递增栈维护。

对于新来的一个数:

若它比所有数都大,则入栈,答案加一。

否则,弹栈直到栈顶不大于它。

因为这些数对以后的数都没用了,如下图。

红色柱子和蓝色柱子在一个区间中加的高度一定不超过绿色柱子,

所以两个红色柱子就没有贡献了,弹出即可。

然后将当前数入栈,将答案加一。

特别地,若栈顶等于当前数,答案不加一。

因为最优情况下,造出那个数时,当前数也被造出了。

代码

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e5 + 5;
int n, a[N], ans;
int top, stk[N];
void solve() {
	cin >> n;
	for (int i = 1; i <= n; i ++) cin >> a[i];
	stk[++ top] = 0;
	for (int i = 1; i <= n; i ++) {
		while (top && a[i] < stk[top]) top --;
		if (top && stk[top] == a[i]) continue;
		stk[++ top] = a[i], ans ++;
	}
	cout << ans << "\n";
}
signed main() {
	int T = 1;
//	cin >> T;
	while (T --)
		solve(); 
	return 0;
}

标签:柱子,COCI2020,int,2021,序列,Po
From: https://www.cnblogs.com/maniubi/p/18407228

相关文章

  • [COCI2021-2022#6] Zemljište
    [COCI2021-2022#6]Zemljište题意给出一个矩阵,一个子矩阵的权值为\(|m-a|+|m-b|\),\(m\)为子矩阵数值和,\(a,b\)为给出的数。求该矩阵权值最小的子矩阵。思路枚举子矩阵上界和下界,左右界使用双指针枚举,令\(a<b\)。对于每个左界,不断扩展右界直到子矩阵和大于\(b\),因为再......
  • post为什么会发送两次请求?
    之前有人跟我们说,出去面试的时候,有时候会遇到一些让人头疼的问题,比如有一次去字节面试,面试官就问了一个让他很奇怪的问题:“为啥POST请求有时候会发送两次呢?”这个问题听起来挺玄乎的,但其实用大白话来说,原因还挺简单的。咱们这就来聊聊这个事儿。首先,得明白啥是POST请求。POST请求......
  • 「NOI2021 D1T3 庆典」题解
    uoj675加强:\(\sumk\le6\times10^5\)暴力\(u\)在\(s\Rightarrowt\)路径上\(\iff\)正图上\(s\Rightarrowu\)且反图上\(u\Rightarrowt\)时间复杂度\(O((n+m)q)\)正解只关心可达性,不妨SCC缩点成DAG。注意到一个奇怪的条件:对于三座城市\(x,y,z\),若\(x\Right......
  • Windows远程桌面授权远程代码执行漏洞CVE-2024-38077(POC、EXP)
    目录漏洞描述关键信息漏洞影响漏洞危害等级影响范围漏洞解决方案临时缓解方案升级修复方案POCEXP使用参考漏洞描述CVE-2024-38077是Windows远程桌面授权服务(RDL)中的一个堆溢出漏洞。该漏洞在解码用户输入的许可密钥包时,未正确验证解码后的数据长度与缓冲区......
  • Day5网络编程:epoll+服务器模型+ftp
    1.io多路复用:epollepoll的提出--》它所支持的文件描述符上限是系统可以最大打开的文件的数目;eg:1GB机器上,这个上限10万个左右。每个fd上面有callback(回调函数)函数,只有产生事件的fd才有主动调用callback,不需要轮询。注意:Epoll处理高并发,百万级1.红黑树:是特殊的二叉......
  • jsp超市Pos收银管理系统1y6h3
    jsp超市Pos收银管理系统1y6h3本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能员工,供应商信息,商品分类,商品信息,商品入库,商品出库,商品采购,商品退货技术要求:   开发语言:JSP前端使用:HTML......
  • 【pom】解决jar冲突心得 之 通过解决启动报错  Caused by: java.lang.NoClassDefFoun
     解决jar冲突心得之通过解决启动报错 Causedby:java.lang.NoClassDefFoundError:Couldnotinitializeclasscom.fasterxml.jackson.databind.ObjectMapper 学思路 一般情况,出现Causedby:java.lang.NoClassDefFoundError的问题1.要么是jar没有引入pom,所以找不......
  • docker-compose部署MySQL高可用工具orchestrator
    主要对一个MySQL主从架构部署orchestartor进行高可用验证,orchestrator部署在主从架构的从节点上,当然最好是部署在其他机器上,后端数据库采用的直接是MySQL的从库,所以没有创建orchestrator的后端数据库的流程。创建yaml文件mkidr/opt/orchecd/opt/orchevimdocker-comp......
  • CF319E Ping-Pong
    题意如果两个线段相交(不包括端点),那么你可以从一个线段移动到另外一个线段。动态添加线段,询问能否从一个线段前往另外一个线段。思路我们不难想到利用\(scc\)来解决点对之间的关系(经典例题《炸弹》),离散化后使用权值线段树保存点对关系。具体来说,用有向边表示两个线段能相互影......
  • 信创领域认证,来自工信部人才交流中心的PostgreSQL培训班
    在国家大力发展信创软件和数据库行业的背景下,PostgreSQL具有多方面的优势和机遇,具体体现在以下几个方面:1.技术优势契合信创需求:PostgreSQL数据库是一个功能强大、性能稳定、可扩展性强的开源对象关系数据库系统,支持多种数据类型(如数组、JSON、XML等),方便存储和处理半结构化......