并查集入门学习
来源:互联网 发布:asp.net入门编程实例 编辑:程序博客网 时间:2024/05/17 21:47
学习过程
第一次接触并查集是Codeforces上的一道题目,当时还不知道并查集是啥玩意...后来简单的学习了一下基本操作,然而并没有怎么练题...于是最近碰到并查集相关题目时一脸茫然,又重新认真(雾)学习了一遍!然后套着模板刷了几道简单的题,但是没想到并查集的题目还可以分为好几类...算是长见识了。
- 简单并查集
- 带权值并查集
- 种类并查集
- 联通无环图(雾)
大佬们已经把并查集相关知识讲解的非常到位了,浅显易懂,我这就算简单归纳一下。
学习资料
并查集入门文章:并查集详解 (转)【非常到位】
并查集深层应用:POJ-1182 食物链【一题带你领悟】
题目练习
98 / 224APOJ 2236Wireless Network
85 / 138BPOJ 1611The Suspects
92 / 142CHDU 1213How Many Tables
49 / 173DHDU 3038How Many Answers Are Wrong
55 / 180EPOJ 1182食物链
33 / 74JPOJ 2492A Bug's Life
51 / 180MHDU 1272小希的迷宫
38 / 117NPOJ 1308Is It A Tree?补充:
HDU 1232 畅通工程
HDU 3047 Zjnu Stadium
常见写法【模板】
查找--find函数
int find(int x) { return x == pre[x] ? x : find(pre[x]); }
int find(int x) { int r = x; while (r != pre[r]) r = pre[r]; int i = x, j; while (pre[i] != r) //路径压缩 { j = pre[i]; pre[i] = r; i = j; } return r;}
int find(int x){ if(F[x] == -1) return x; return F[x] = find(F[x]);}
合并--join函数
void join(int x, int y){ int fx = Find(x), fy = Find(y); if (fx != fy) pre[fx] = fy;}
- The end.
- 2017年8月6日16:13:04
阅读全文
1 0
- 并查集入门学习
- 并查集学习入门到熟悉
- 并查集入门
- 并查集入门
- 并查集入门
- 并查集入门
- 并查集入门
- 并查集入门
- 并查集入门
- 并查集入门
- 并查集入门
- 并查集入门
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习
- 并查集学习
- CodeForces 416C:Booking System(贪心)
- bit.ly思路
- Java常见容器总结
- 生产者消费者模式
- Android O新特性
- 并查集入门学习
- (笔记)初步了解监督学习
- Apache从HTTP到HTTPS的实现
- ant脚本使用multidex解决65536问题
- 多线程之生产者与消费者问题
- LSTM初探
- 一张图让你搞懂JavaScript的继承与原型链
- 后缀自动机模板
- ROS包编译错误一例“ return m.__getMD5Sum().c_str();”