ans肯定不会超过n,因为我们可以每一列都放一个矩阵
考虑减小答案,肯定是要放横的,也就是让两个高度一样的矩阵同时被消除掉,那么中间不能存在比他们低的矩阵
问题即判断一个点之前第一个小于等于它的点是不是等于他(等于就ans-1),然后用单调栈维护之前的递减即可

 1 #include<bits/stdc++.h>
2 using namespace std;
3 int n,ans,a[300005],s[300005];
4 int main(){
5 scanf("%d",&n);
6 for(int i=1;i<=n;i++)scanf("%*d%d",&a[i]);
7 for(int i=1;i<=n+1;i++){
8 while ((s[0])&&(s[s[0]]>=a[i]))
9 if (s[s[0]--]==a[i])ans++;
10 s[++s[0]]=a[i];
11 }
12 printf("%d",n-ans);
13 }

最新文章

  1. 拥抱.NET Core,跨平台的轻量级RPC:Rabbit.Rpc
  2. windows 版的julia repl 启动时间已经大大优化!
  3. db2死锁分析与处理
  4. JAVA读取XML文件数据
  5. 如何将vs2012项目的网站布置到iis上,实现内网访问
  6. 防止SQL注入和XSS攻击Filter
  7. JavaScript学习心得(六)
  8. 《第一行代码》学习笔记5-活动Activity(3)
  9. C语言漫谈(二) 图像显示 Windows和Linux
  10. C基础知识小总结(十)
  11. 基于Schema的AOP 配置使用详解
  12. 何谓集群(cluster)
  13. ruby安装sass报错解决办法
  14. 1031: [JSOI2007]字符加密Cipher
  15. python中将字典形式的数据循环插入Excel
  16. MPAndroidChart——饼图
  17. nginx的限流问题
  18. Maven打war包命令
  19. python 列表去重的几种方法
  20. adb入门学习笔记

热门文章

  1. 改善深层神经网络-week1编程题(Initializaion)
  2. Redis:学习笔记-01
  3. [对对子队]测试报告Beta
  4. [no code][scrum meeting] Alpha 14
  5. the Agiles Scrum Meeting 9
  6. BUAA2020软工作业——提问回顾与个人总结
  7. 热身训练1 Problem B. Harvest of Apples
  8. 树链剖分好(du)题(liu)选做
  9. AVL树的插入和删除
  10. 排序算法:Java实现希尔排序