data:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
#define rint register int
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
char buf[1<<21],*p1=buf,*p2=buf;
inline int rd() {
int x=0,f=1;char ch=getchar();
while(!isdigit(ch)) {if(ch=='-')f=-1;ch=getchar();}
while(isdigit(ch))x=x*10+(ch^48),ch=getchar();
return x*f;
}
signed main() {
freopen("data.in","w",stdout);
srand(time(0));
int n=200000;
printf("%d\n",n);
for(rint i=1;i<=100000;++i)
printf("%d ",i+1);
for(rint i=1;i<=100000;++i)
printf("1 ");
puts("");
}
应该输出:100001
被hack的题解:
1年前我刚刚学OI,连时间复杂度的概念都没有,做到这题的时候学了题解的写法,今天翻到这题,忽然发现能把自己卡掉,就把错误的题解翻出来了。
而且这几篇都好靠前啊,代码超短,超级误导人(比如一年前的萌新我)
卡的原理:有一条超长的链,由于并查集没带路径压缩,导致每次全部遍历,显然会TLE