题意:
给你2*n个操作,分别是在栈顶部加一个数,删除栈顶的一个数,删除的顺序是1到n,你可以在任何一次操作后对栈中序列进行重排,问你最小需要多少次重排。
题解:
扯一下犊子,看到这玩意一下子想到栈,但是我想用两个变量去做,结果发现失败了。。。回到了栈发现是真的简单,MD。。还有就是不会发生以下情况,4,2,1,删除三次,导致出现124这种不对的情况,题目的数据是不会出现这种情况的,放心好了,下面说一下做法。
如果是add就放到栈顶,然后是remove的话就判断当前栈顶的值与要被删除的值比较是否相同,如果相同就移除栈顶的值,如果不相同就清空栈,就相当于重排了一遍并计数就可以过了,具体的内容看代码。

#include<stdio.h>
#include<stack>
#include<algorithm>
using namespace std;
int main()
{int n;while(~scanf("%d",&n)){int a,b=0,ans=0;char s[10];stack<int>st;for(int i=1;i<=2*n;i++){scanf("%s",s);if(s[0]=='a'){scanf("%d",&a);st.push(a);}else{b++;if(!st.empty()&&st.top()==b)st.pop();else{if(!st.empty())ans++;while(!st.empty())st.pop();}}}printf("%d\n",ans);}
}

CF420 div2 821C Okabe and Boxes相关推荐

  1. Codeforces 821C - Okabe and Boxes

    821C - Okabe and Boxes 思路:模拟.因为只需要比较栈顶和当前要删除的值就可以了,所以如果栈顶和当前要删除的值不同时,栈就可以清空了(因为下一次的栈顶不可能出现在前面那些值中). ...

  2. CodeForces - 821C Okabe and Boxes

    这题我说实话有点迷,题解的方法和模拟的思路相差有点大,但是对于每个可怀疑的细节都可以通过... 参考博客: https://blog.csdn.net/m0_37729344/article/deta ...

  3. CF420 div2 821A Okabe and Future Gadget Laboratory

    题意: 给你一个n*n矩阵,要你判断不是1的数能不能有同一行 + 同一列的一个数得到. 题解: A题很简单,暴力就可以过了. #include<stdio.h> #include<s ...

  4. codeforce C. Okabe and Boxes

    题目传送门 这道题 每次删除一个点 那么这个点必然在栈里面 那么如果堆顶不是他 我们就需要一次操作使得堆合理 这时我们可以把他删除然后把他下面的点打个标记表示这下面的点以后想怎么排就怎么排以后都不需要 ...

  5. CF821C Okabe and Boxes

    思路: 模拟.不一致的时候直接清空栈即可. 实现: 1 #include <iostream> 2 #include <cstdio> 3 #include <vecto ...

  6. [CF821C] Okabe and Boxes(模拟,栈)

    题目链接:http://codeforces.com/contest/821/problem/C 题意:给一堆入栈记录和一个删除操作,现在要求remove的时候栈顶必须是上一个remove的值+1.还 ...

  7. CF821 C. Okabe and Boxes 栈模拟

    Link 题意:给出操作,如果当前出栈操作使得出栈序列非顺序,可以在此之前自由排序栈中所有数,问最少排几次. 思路:已经出栈到第x个元素时,每次需要排序的操作后,能够保证前x元素出栈有序,否则说明该操 ...

  8. 题解 CF821C 【Okabe and Boxes】

    一道模拟题 每一次 add 的时候,就不用管直接扔进栈里面,因为你在这个时候排个序不如之后 remove 的时候排序. 然后每一次 remove 的时候. 如果栈顶是当前要出栈的数,那么直接让他出去. ...

  9. 每日一套codeforce集训1119E[贪心],821C[栈模拟],645D[拓扑排序]

    有n种长度的棍子,长度分别为2^0 ,2 ^ 1,-,2 ^ (n-1) ,每种棍子有a[i] 种,问你能组成多少个三角形. 三角形两边之和大于第三边,而2 ^ i + 2 ^ i = 2 ^ (i+ ...

最新文章

  1. Week 3 Quiz - Shallow Neural Networks
  2. Class com.googlecode.jsonplugin.JSONWriter ca...
  3. linux图形化卡在开机界面,linux怎么在开机时进入图形界面
  4. 数据分析行业需要具备哪些技术 如何快速进入
  5. k3s containerd和docker命令对比表
  6. android 中文参数,(原)Android: 启动另外的APP及传递参数
  7. Tennis Game CodeForces - 496D(唯一分解定理,费马大定理)
  8. ROS-手势控制小海龟移动
  9. 在Magento首页显示新产品怎么设置
  10. Vue 单选框与单选框组 组件
  11. vuejs之Vue Devtools
  12. Kmalloc和Vmalloc的区别
  13. 推荐几个超实用公众号,与众不同
  14. 众包专访:告别接包黑历史,来到开源中国众包接包小记
  15. centos7 redis 重启_linux下redis启动/关闭/重启服务配置
  16. SQL分页查询的写法总结-MySQL、SQL Server、Oracle
  17. RE-Base64编码分析
  18. eclipse html插件的下载和安装
  19. 扬州鉴真国际半程马拉松
  20. 基于“大中台+小前台”思想的电商系统总体架构设计

热门文章

  1. pythom入门_3(学习笔记)
  2. JPush Flutter Plugin(Futter推送-极光推送)
  3. 算法基础课-动态规划
  4. EXCEL取消合并单元格并填充每个取消合并后的单元格
  5. VGG预训练模型网络结构详解——以VGG16为例
  6. php无限极分类思路,php无限极分类的方法
  7. C#与.NET 4高级程序设计:第5版
  8. 2019年深思杯部分解题思路
  9. 电脑主板PS/2接口
  10. 测速的c语言程序,光电码盘测速C程序