【51nod】【单调栈】扔盘子
【51nod】【单调栈】扔盘子
题目
解题思路
因为井的宽度是不确定的
先将其处理成一个下降序列 (因为如果a1<a2,一个比a1大的盘也一定不会去到a2)
接着一个一个丢盘子,记录所到的高度,如果到0就结束
代码
#include<iostream>
#include<cstdio>
using namespace std;
int n,m,y,x,t,ans,a[500010],q[500010];
int main()
{scanf("%d%d",&n,&m);y=n;a[0]=1e9;for (int i=1;i<=n;i++){scanf("%d",&a[i]);if (a[i]<a[q[t]]) q[++t]=i; //处理递减序列} a[0]=0;for (int i=1;i<=m;i++){scanf("%d",&x);while (t&&x>a[q[t-1]]) t--,y=q[t]; //如果大于上一个宽度,那么就不能在当前宽度区间,高度减小y--;if (y==q[t-1]) t--; //到达上一个宽度区间if (!t||y==0) break;ans++;}printf("%d",ans);return 0;
}
【51nod】【单调栈】扔盘子相关推荐
- 【51Nod - 1279】 扔盘子(思维)(on-p会超时)
题干: 有一口井,井的高度为N,每隔1个单位它的宽度有变化.现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去). 盘子有几种命运:1.掉到井底.2.被卡住 ...
- 51Nod 1102 面积最大的矩形 +1272 最大距离 单调栈
51Nod 1102 面积最大的矩形 记笔记记笔记:对于区间最值与区间长度/和等的问题,用单调栈来维护区间端点. 这里来补一补单调栈和单调队列的基础知识: 单调栈: ...
- 51nod 1158 全是1的最大子矩阵(单调栈 ,o(n*m))
前置问题:51nod 1102 面积最大的矩形 附上链接: 51nod 1102 面积最大的矩形 这题的题解博客 需要了解的知识:单调栈,在前置问题中已经讲解. 解题思路 对每行求左边连续1的个数,得 ...
- 51nod 1102 【单调栈】
思路: 对于这个高度往左能延伸最远x,往右能延伸最远y,(x+1+y)*w; 利用单调栈就行了: #include <cstdio> #include <stack> #inc ...
- 51nod 1102 面积最大的矩形 新疆大学OJ 1387: B.HUAWEI's billboard 【单调栈】+【拼凑段】(o(n) 或 o(nlog(n))
题面1:  题面2:  两道题除了数据范围不同,没有任何差异,两道题都可以o(n)(单调栈),o(nlog(n))(我自己的做法)解决. 解题思路1:(单调栈) 对于每个点找到右边第一个比它小的位 ...
- 【51Nod - 1215 】数组的宽度 (单调栈 或 分治 或 单调队列,算贡献,需去重)
题干: N个整数组成的数组,定义子数组aii..ajj的宽度为:max(ai..aj) - min(ai..aj),求所有子数组的宽度和. Input 第1行:1个数N,表示数组的长度.(1 < ...
- 51nod 1423 最大二“货” 单调栈
利用单调栈,高效求出每个区间内的最大值和次大值的亦或值. 先正向扫描,利用单调递减栈,若当前栈为空栈,则直接压入栈中,若为非空栈,弹出栈顶元素,每弹出一个元素,则求一次亦或值,保留最大值 接着进行反向 ...
- 51nod 1423 最大“二货”【单调栈】
Description 白克喜欢找一个序列中的次大值.对于一个所有数字都不同的序列 x1, x2, -, xk (k > 1) ,他的次大值是最大的 xj ,并且满足 xj ≠maxki=1 x ...
- 【51nod P2500】后面第一个大于【单调栈】
l i n k link link 分析: 单调栈倒着做 a n s ans ans就是栈顶到第一个找出最大的距离 CODE: #include<iostream> #include< ...
最新文章
- 获取汉字拼音的简便方法
- 信息学奥赛一本通(2038:【例5.5】最大数位置)
- php class variable,解决关于PHP“Undefined variable”变量未定义
- 4月第一个惊喜:iPhone 9现已直接上架苹果中国官网?
- (五)Thymeleaf标准表达式之——[7-8]条件表达式 默认表达式
- 核电安全级数字化仪控系统内存诊断设计与实现
- C C++实现网络验证和本地验证
- web邮箱和客户端的区别
- html网页打开很小,IE浏览器打开链接新窗口很小如何解决?
- SDL[代码审计方案]
- SSTI 模板注入url_for和get_flashed_messages之[WesternCTF2018]shrine
- 《Photoshop修色圣典(第5版)》—第1章1.10节何时两种效果最佳
- Allegro Cadence 视频教程+信号完整性
- 5月6日地图下载。同学们要练习!
- arduino使用oled代码_【教程】在ESP32上使用E32433T LoRa模块
- 【渝粤教育】电大中专Office办公软件 (2)_1作业 题库
- 搭建quick-cocos2dx调试环境出错
- iText7 学习笔记2--页眉页脚
- npm install 报错 - node篇
- 激光测距仪传感器,基于EFM32控制器开发设计_方案
热门文章
- java hashcode在线_java hashcode
- Lua Base64加密解密
- Java毕设项目菜鸟驿站快递分发系统(java+VUE+Mybatis+Maven+Mysql)
- 云联会企业认证_“云联惠”到底是不是传销?法官评析传销罪名的主体认定问题...
- Android内存优化 1
- OrchardCore
- Activity(测姻缘总结)
- 无线安全Android小工具
- dnf服务器未响应怎么解决方法,win7玩dnf老是未响应怎么回事_win7玩dnf总是未响应如何解决...
- 马尔科夫链(Markov Chain)