CF 821C 模拟

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF 821C 模拟相关的知识,希望对你有一定的参考价值。

 

x入栈的同时 也加入集合b,

当a.top()!=num  直接reorder复杂度为n^2logn  改为清空栈,当栈为空时 表示栈已经有序,删除元素直接从集合中删除.

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e6+20;
int n,p[N];
char s[20];
stack<int> a;
set<int> b;
int main()
{
	while(cin>>n)
	{
		int num=1,ans=0;
		int x;
		int top=0;
		n=2*n;
		for(int i=1;i<=n;i++)
		{
			scanf("%s",s);
			if(s[0]==‘a‘)
			{
				scanf("%d",&x);
				a.push(x),b.insert(x);
			}
			else
			{	
				if(!a.empty())
				{
					if(a.top()!=num)//reorder ?úb?D??3ynum 
					{
						ans++;//cout<<num<<endl;
						while(!a.empty())
							a.pop();
					}
					else
						a.pop();
				}
				//è????a???ò±íê? ?3Dò′óμ?D?1ì?¨?éò??ú,?ˉo?b?Dé?3y 
				b.erase(num);
				num++;
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}

  

以上是关于CF 821C 模拟的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces 821C Okabe and Boxes(模拟)

cf 模拟

Codeforces 821C Okabe and Boxes

CF115BLawnmower[贪心,模拟]

CF 999B. Reversing Encryption模拟/string reverse

如何从后台弹出片段