为什么 queue 没人权啊
查看原帖
为什么 queue 没人权啊
44805
Leap_Frog楼主2021/2/8 22:25

开 300000 个 queue 就 MLE 飞了。
但开 300000 个 vector 就能 A。
为什么会是这个样子啊。。。

//甚至这样都能 MLE。。。/px
//愿你有一天能和你重要的人重逢。
#include<bits/stdc++.h>
using namespace std;typedef long long ll;
// template<typename T>inline void read(T &x)
// {
// 	x=0;char c=getchar(),f=0;
// 	for(;c<'0'||c>'9';c=getchar()) if(c=='-') f=1;
// 	for(;c>='0'&&c<='9';c=getchar()) x=(x<<1)+(x<<3)+(c^48);
// 	if(f) x=-x;
// }
int n,T[300005],a[300005];ll res=0;vector<int>q[300005];char vs[300005];
// inline void upd(int x,int w) {for(;x<=n;x+=x&(-x)) T[x]+=w;}
// inline int qry(int x) {int r=0;for(;x;x-=x&(-x)) r+=T[x];return r;}
int main()
{
    return 0;
// 	read(n),n<<=1;for(int i=1;i<=n;i++) read(a[i]);
// 	for(int i=n;i;i--) q[a[i]+n].push(i),upd(i,1);
// 	assert(0);
// 	for(int i=n;i;i--) if(!vs[i])
// 	{
// 		int w=q[n-a[i]].front();vs[i]=1,vs[w]=1,q[a[i]+n].pop(),q[n-a[i]].pop();
// 		res+=qry(i-1)-qry(w)+(a[i]<0?1:0),upd(w,-1);
// 	}
// 	return printf("%lld\n",res),0;
}
2021/2/8 22:25
加载中...