并查集防止爆栈
来源:互联网 发布:做淘宝如何提高销量 编辑:程序博客网 时间:2024/06/06 20:13
在并查集的时候经常遇到爆栈的情况,这里给推荐两种方法预防爆栈
①开外挂栈
#pragma comment(linker, "/STACK:1024000000,1024000000")②增加一个数组用来保存结点的熵值,使得根节点离子结点平摊下来的距离最小,主要在合并的时候需要用到
if(cou[fa]>cou[fb]){ f[fb]=fa; } else { f[fa]=fb; cou[fb]++; }
下面是模板
#pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio>#include<cstring>#include<algorithm>#include<stdlib.h>#include<vector>#include<stack>#include<queue>#include<map>#include<string>#include<cmath>#include<iostream>using namespace std;#define LL long long#define ULL unsigned long longint f[100005],cou[100005];int res;int find(int x){ if(f[x]!=x) f[x] =find(f[x]); return f[x];}void Union(int a,int b){ int fa = find(a); int fb = find(b); if(fa==fb) return false; //并查集熵低的当父亲 if(cou[fa]>cou[fb]){ f[fb]=fa; } else { f[fa]=fb; cou[fb]++; }}int main(void){ return 0;}
0 0
- 并查集防止爆栈
- HDU3938 并查集 并查集
- 并查集(集并查)
- HDU1232 并查集<并>
- 并查集
- 数据结构-并查集
- 并查集
- 并查集!
- 并查集
- 并查集
- 并查集
- 并查集
- 并查集总结
- 并查集学习
- 并查集
- 并查集
- 并查集
- 所谓并查集
- 关于通过线性回归来实现线程池的自动调优的讨论
- c++11 shared_ptr & unique_ptr & move semantics(右值引用) & emplace & lock_guard & final 和 override 关键字
- 经验问题导致的bug
- 小胖说事20--------GCD笔记
- 程序员面试宝典p40----不用if比较两个数大小
- 并查集防止爆栈
- CSDN第一天
- leetcode[168]:Excel Sheet Column Title
- unity 5 打包apk 手动升级android sdk 5.0 api 21
- win8快捷键大全
- AngularJS简单介绍
- RGB-HSV转换
- LintCode Unique Characters 判断字符串是否没有重复字符
- UVa - 1617 - Laptop