并查集
Double__E
这个作者很懒,什么都没留下…
展开
-
并查集模板(简单易懂,可直接用)
并查集主要有两部分1.并2.查combine函数(并)void combine(int a,int b){ int ffa=find(a); int ffb=find(b); if(ffa!=ffb){ fa[ffa]=ffb; }}find函数(查)int find(int a){ int b=a; while(a!=...原创 2019-04-02 20:07:53 · 354 阅读 · 0 评论 -
并查集的路径压缩(详细注释)
并查集里的find函数里可以进行路径压缩,是为了更快速的查找一个点的祖先节点,有的题不路径压缩就会超时,所以路径压缩还是很重要的int find(int a){ int b=a; //把初始值赋给b while(a!=fa[a]){ a=fa[a]; //找到a的祖先节点 } while(b!=a){ //直到b==a为止 int temp=fa[b]; //设一...原创 2019-04-02 20:17:31 · 3446 阅读 · 3 评论