并查集模板
int setfind(int xx) { int fa=father[xx]; if(fa==xx) return fa; else return father[xx]=setfind(fa); } void setunion(int xx,int yy) { int X=setfind(xx); int Y=setfind(yy); if(X==Y) return; else if(val[X]>val[Y]) father[Y]=X; else father[X]=Y; if(val[X]==val[Y]) val[Y]++; return; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步