关于单调栈
查看原帖
关于单调栈
250699
mot1ve楼主2020/10/16 10:10

为什么这个单调栈里只能放元素下标呢?如果改成放元素就会WA。感觉没什么区别啊。

#include<bits/stdc++.h>
using namespace std;
int x,n,top,tot;
int stack1[250010],a[250010];//维护一个单调递增栈 
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		scanf("%d%d",&x,&a[i]); 
	}
	for(int i=1;i<=n;i++)
	{
		while(top&&a[stack1[top]]>a[i])
		top--;
		if(a[stack1[top]]==a[i])
		tot++;
		stack1[++top]=i;
	}
	cout<<n-tot;
	return 0;
}
2020/10/16 10:10
加载中...