关于带权冰茶姬

学术版

你就把递归用while弄一遍呗,需要用的东西开个栈就好了
by Ew_Cors @ 2021-02-27 13:12:28


手写栈
by _Life_ @ 2021-02-27 13:12:54


```cpp class Union_Set{ private: int f[16384]; int Find(int x){ while(f[x]^x)x=f[x]; return x; } public: void Init(int n){ for(int i=1;i<=n;i++)f[i]=i; } void Change(int x,int y){ int a=Find(x),b=Find(y),c; if(a==b)return; f[a]=b; while(f[x]!=x)c=f[x],f[x]=b,x=c; while(f[y]!=y)c=f[y],f[y]=b,y=c; } void Query(int x,int y){ if(Find(x)^Find(y))cout<<"N"<<endl; else cout<<"Y"<<endl; } }; Union_Set ust; ``` 这是本蒟蒻写的并查集模板,不喜勿喷QwQ
by abuyao @ 2021-02-27 13:15:10


@[lao_li](/user/317650) 这不是while版的吗QwQwQ
by abuyao @ 2021-02-27 13:24:59


@[abuyao](/user/285373) ~~啊我眼瞎了~~ 这不是带权的qwq
by lao_li @ 2021-02-27 13:26:23


@[lao_li](/user/317650) 再改改不就行了吗QwQwQwQ
by abuyao @ 2021-02-27 13:31:26


自己写好了,欢迎来我的博客看看,谢谢大家(撒花)
by lao_li @ 2021-02-27 13:35:03


|