最小生成树 普里姆&& 克鲁斯卡尔 图形事例构造 并查集...
分类:
其他好文 时间:
2014-06-03 00:17:56
阅读次数:
332
并查集。需要考虑入度。 1 #include 2 #include 3 4 #define
MAXNUM 10005 5 6 int bin[MAXNUM]; 7 int degree[MAXNUM]; 8 int nums[MAXNUM]; 9 10
int find(int x) {11...
分类:
其他好文 时间:
2014-06-02 21:31:31
阅读次数:
219
膜拜HZWER大牛的编码能力!附上他的代码(我的代码不知为何一直莫名出错……)#include#include#includeusing namespace
std;int tot,n,m,d,father[400001],head[400001],q[400001],ans[400001],cnt...
分类:
Web程序 时间:
2014-06-02 11:06:31
阅读次数:
306
链接虽做出的很少,也记录下来,留着以后来补。。浙大题目质量还是很高的B并查集的一些操作,同类和不同类我是根据到根节点距离的奇偶判断的,删点是直接新加一个点,记得福大月赛也做过类似的,并差集的这类关系题目还是比较常见的,有空深究一下。
1 #include 2 #include 3 #include....
分类:
其他好文 时间:
2014-06-02 07:26:51
阅读次数:
287
A.Another Recurrence Sequence
B.Gears
题目大意:有n个齿轮,一开始各自为一组,之后进行m次操作,包括以下4种类型:
1.合并两组齿轮,合并的两个应该反向旋转
2.把某个齿轮从所在组删除,自为一组,但不影响同组其它齿轮的状态与关系
3.询问两个齿轮是同向、反向或无关系(即不在同一组)
4.询问某个齿轮所在组的齿轮总数
分析:...
分类:
其他好文 时间:
2014-06-02 04:44:36
阅读次数:
301
本节讲的是并查集的第一种实现方法,这种方法查找操作开销很小而合并操作开销比较大。
数据结构
假设有N个节点,那么该算法的数据结构就是一个包含N个整数的数组id[]。
判断操作
判断节点p和节点q是否相连就是判断id[p]和id[q]的值是否一致。
合并操作
合并节点p和节点q就是将id数组中所有的id[...
分类:
其他好文 时间:
2014-06-01 14:55:21
阅读次数:
202
本节讲的是并查集的另外一种实现方法。这种方法的合并操作开销很小,但是查找操作开销很大。
数据结构
这种算法的数据结构和快速查找方法的数据结构是一样的,也是N个整数组成的数组。
数组中每个元素id[i]的含义是指i的上级是id[i]。
根节点
一个节点的根节点就是id[id[id[...id[i]....]]],一直循...
分类:
其他好文 时间:
2014-06-01 14:52:52
阅读次数:
225
本节讲的是并查集的基本概念。
算法的开发步骤
对问题进行数学建模
寻找一个能够解决问题的算法
运行算法检测速度和内存是否符合要求
如果达不到要求,找出原因
寻找一种方法来解决问题
循环步骤,直到满意为止
以上就是算法开发比较科学的方法。算法开发完成之后需要进行数学分析。
并查集问题
...
分类:
其他好文 时间:
2014-06-01 14:15:14
阅读次数:
185
课程介绍
这门课程核心内容是算法和数据结构。
具体的算法和数据结构如下:
数据类型:堆栈、队列、背包、并查集、优先队列。
排序:快排、并排、堆排、基数排序
查找:BST、红黑BST、哈希表
图:BFS、DFS、Prim、Kruskai、Dijkstra
字符串:KMP、正则、TST、哈夫曼、LZW
高级:B树、后缀数组、最...
分类:
其他好文 时间:
2014-06-01 10:52:26
阅读次数:
285