单调栈
作者:互联网
在cg中应用单调栈后仍有两个解超时,后发现用cin之类的比scanf之类的占用时间长
用cin与cout实际上比printf与scanf要慢,在大量的输入输出时就会造成时间的浪费!!!
故大量输入输出时应该为scanf和printf
cg链接http://cg.sau.edu.cn/acm/submit.jsp?problemID=3377&pageNo=1&pages=0
换掉后成功ac
如下为cg代码
#include<stdio.h>
#include<string.h>
#include<stack>
using namespace std;
long long a[1000005];
int shu[1000005];
int main()
{
int n;
scanf("%d",&n);
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
stack<int> b;
b.push(0);
for (int i = 1; i < n; i++)
{
while (!b.empty() && a[b.top()] > a[i])
{
shu[b.top()] = i + 1;
b.pop();
}
b.push(i);
}
for (int i = 0; i < n; i++)
{
printf("%d ", shu[i]);
}
return 0;
}
相似的题目还有这个https://www.luogu.com.cn/problem/P5788
标签:shu,int,scanf,cg,printf,include,单调 来源: https://www.cnblogs.com/NightVoyager233/p/16062453.html