【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】【单调栈】扔盘子相关推荐

  1. 【51Nod - 1279】 扔盘子(思维)(on-p会超时)

    题干: 有一口井,井的高度为N,每隔1个单位它的宽度有变化.现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去). 盘子有几种命运:1.掉到井底.2.被卡住 ...

  2. 51Nod 1102 面积最大的矩形 +1272 最大距离 单调栈

    51Nod 1102 面积最大的矩形 记笔记记笔记:对于区间最值与区间长度/和等的问题,用单调栈来维护区间端点. 这里来补一补单调栈和单调队列的基础知识: 单调栈:                   ...

  3. 51nod 1158 全是1的最大子矩阵(单调栈 ,o(n*m))

    前置问题:51nod 1102 面积最大的矩形 附上链接: 51nod 1102 面积最大的矩形 这题的题解博客 需要了解的知识:单调栈,在前置问题中已经讲解. 解题思路 对每行求左边连续1的个数,得 ...

  4. 51nod 1102 【单调栈】

    思路: 对于这个高度往左能延伸最远x,往右能延伸最远y,(x+1+y)*w; 利用单调栈就行了: #include <cstdio> #include <stack> #inc ...

  5. 51nod 1102 面积最大的矩形 新疆大学OJ 1387: B.HUAWEI's billboard 【单调栈】+【拼凑段】(o(n) 或 o(nlog(n))

    题面1:  题面2:  两道题除了数据范围不同,没有任何差异,两道题都可以o(n)(单调栈),o(nlog(n))(我自己的做法)解决. 解题思路1:(单调栈) 对于每个点找到右边第一个比它小的位 ...

  6. 【51Nod - 1215 】数组的宽度 (单调栈 或 分治 或 单调队列,算贡献,需去重)

    题干: N个整数组成的数组,定义子数组aii..ajj的宽度为:max(ai..aj) - min(ai..aj),求所有子数组的宽度和. Input 第1行:1个数N,表示数组的长度.(1 < ...

  7. 51nod 1423 最大二“货” 单调栈

    利用单调栈,高效求出每个区间内的最大值和次大值的亦或值. 先正向扫描,利用单调递减栈,若当前栈为空栈,则直接压入栈中,若为非空栈,弹出栈顶元素,每弹出一个元素,则求一次亦或值,保留最大值 接着进行反向 ...

  8. 51nod 1423 最大“二货”【单调栈】

    Description 白克喜欢找一个序列中的次大值.对于一个所有数字都不同的序列 x1, x2, -, xk (k > 1) ,他的次大值是最大的 xj ,并且满足 xj ≠maxki=1 x ...

  9. 【51nod P2500】后面第一个大于【单调栈】

    l i n k link link 分析: 单调栈倒着做 a n s ans ans就是栈顶到第一个找出最大的距离 CODE: #include<iostream> #include< ...

最新文章

  1. 获取汉字拼音的简便方法
  2. 信息学奥赛一本通(2038:【例5.5】最大数位置)
  3. php class variable,解决关于PHP“Undefined variable”变量未定义
  4. 4月第一个惊喜:iPhone 9现已直接上架苹果中国官网?
  5. (五)Thymeleaf标准表达式之——[7-8]条件表达式 默认表达式
  6. 核电安全级数字化仪控系统内存诊断设计与实现
  7. C C++实现网络验证和本地验证
  8. web邮箱和客户端的区别
  9. html网页打开很小,IE浏览器打开链接新窗口很小如何解决?
  10. SDL[代码审计方案]
  11. SSTI 模板注入url_for和get_flashed_messages之[WesternCTF2018]shrine
  12. 《Photoshop修色圣典(第5版)》—第1章1.10节何时两种效果最佳
  13. Allegro Cadence 视频教程+信号完整性
  14. 5月6日地图下载。同学们要练习!
  15. arduino使用oled代码_【教程】在ESP32上使用E32433T LoRa模块
  16. 【渝粤教育】电大中专Office办公软件 (2)_1作业 题库
  17. 搭建quick-cocos2dx调试环境出错
  18. iText7 学习笔记2--页眉页脚
  19. npm install 报错 - node篇
  20. 激光测距仪传感器,基于EFM32控制器开发设计_方案

热门文章

  1. java hashcode在线_java hashcode
  2. Lua Base64加密解密
  3. Java毕设项目菜鸟驿站快递分发系统(java+VUE+Mybatis+Maven+Mysql)
  4. 云联会企业认证_“云联惠”到底是不是传销?法官评析传销罪名的主体认定问题...
  5. Android内存优化 1
  6. OrchardCore
  7. Activity(测姻缘总结)
  8. 无线安全Android小工具
  9. dnf服务器未响应怎么解决方法,win7玩dnf老是未响应怎么回事_win7玩dnf总是未响应如何解决...
  10. 马尔科夫链(Markov Chain)