因为不太会Splay,所以用STL的reverse写的开了O2得了80分。
大佬们有没有优化方法,用STL水过去?
#include<bits/stdc++.h>
using namespace std;
inline int read(){
int k=0,f=1;char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
while(isdigit(ch)){k=(k<<1)+(k<<3)+(ch^48);ch=getchar();}
return f*k;
}
void print(int x){if(x>9)print(x/10);putchar(x%10+48);}
inline void Pt(int x){print(x);putchar(' ');}
int n,m,a[100002];
int main(){
n=read();
m=read();
for(register int i=1;i<=n;++i) a[i]=i;
for(register int i=1;i<=m;++i)
{
int x=read(),y=read();
reverse(a+x,a+y+1);
}
for(register int i=1;i<=n;++i) Pt(a[i]);
return 0;
}