尽管堆优化的Prim用于处理稠密图不错,但是实际上很少有题目稠密图。所以一般直接上用并查集优化的Kruskal,简洁高效。int find(int x) {return x!=p[x]?p[x]=find(p[x]):x;}struct edge{ int u,v,c;}Edge[10001]...
分类:
其他好文 时间:
2014-10-02 21:46:13
阅读次数:
243
Friendship
Time Limit: 3 Seconds
Memory Limit: 32768 KB
A friend is like a flower,
a rose to be exact,
Or maybe like a brand new gate
that never comes unlatched.
A friend i...
分类:
其他好文 时间:
2014-08-16 19:52:01
阅读次数:
269
Description
Background
Jim is a brave explorer. One day, he set out for his next destination, a mysterious hill. When he arrived at the foot of the hill, he was told that there were a bunch of mons...
分类:
其他好文 时间:
2014-08-08 12:52:35
阅读次数:
314
T1:有点坑的模拟,考心细+代码能力T2:最小生成树 记得开long long,不然会全WA.. 莫名超时三个点,据学长说可以开并查集优化,叫做按秩排序..=-=现在木有网啊..哪天再看T3:dijkstra+堆处理 先说一下dijkstra好了 从所连的最小的号数开始,边权值分别为1.2.3.4....
分类:
其他好文 时间:
2014-07-27 10:45:42
阅读次数:
215
本节介绍的是快速合并的优化算法。基本思想就是在每个节点上增加重量的概念,每次操作的时候将重量小的部件挂在重量大的部件之下。这样就避免了树形结构太高的问题。
下图展示了优化前后的树形结构深度的对比。
证明
可以证明每个节点的深度最大为lgN。
因为每次合并的时候较小的部件要放在较大的部件之下,所以如果要增...
分类:
其他好文 时间:
2014-06-02 19:00:51
阅读次数:
334