求 MLE 原因

P3367 【模板】并查集

并查集代码没问题,MLE应该是数组开大了
by qseer @ 2018-10-29 17:16:17


@[qseer](/space/show?uid=68518) 数组只开了10001;
by Wenchih @ 2018-10-29 17:24:57


你的合并函数...
by 7wwwwth @ 2018-10-29 17:30:12


你的合并孓了
by 多多良假伞 @ 2018-10-29 17:33:52


感觉相当于把整棵树遍历了一遍xx
by 多多良假伞 @ 2018-10-29 17:34:16


一开始我也MLE了 一定是内存过大 我当时128000Kb 正解: #include<bits/stdc++.h> using namespace std; int f[100001]; int n,m; int x,y,z; int g(int a) { if(a==f[a]) return a; return f[a]=g(f[a]); } void met(int a,int b) { f[g(a)]=g(b); } void issame(int a,int b) { if(g(a)==g(b)) cout<<"Y"<<endl; else cout<<"N"<<endl; } int main() { cin>>n>>m; for(int i=1;i<=100001;i++) f[i]=i; for(int j=1;j<=m;j++) { cin>>z>>x>>y; if(z==1) { if(g(x)!=g(y)) met(x,y); } else { issame(x,y); } } return 0; }
by daizy @ 2018-10-29 17:34:26


@[daizy](/space/show?uid=113144) # 希望更丰富的展现?使用Markdown# ## 希望更丰富的展现?使用Markdown## ### 希望更丰富的展现?使用Markdown ### ##### 希望更丰富的展现?使用Markdown #### ###### 希望更丰富的展现?使用Markdown#####
by 霹雳搅屎棍 @ 2018-10-29 17:39:43


|