摘要: 这里的思路是 在每一次的找父亲节点的时候我们把每一个孩子的父亲的改成他的祖先。因为有可能一个孩子的关系很复杂可能就是一条链,这样查找就没浪费时间。//这是简单的递归实现find (int x){ while(x!=father[x]) father[x] = find(father[x]) ; r... 阅读全文
posted @ 2014-07-31 08:34 DF丶大W 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 看了好久终于看懂了 ,首先你要知道 优先队列在这里的作用是什么。在Djsktra的算法中 我们需要有三个for其中有个for是要找到 连接中最小的点 并且返回该点 ,这里的优先队列把这个for循环替掉。typedef pair pii;priority_queue q; 这个优先队列是根据 pair... 阅读全文
posted @ 2014-07-31 08:33 DF丶大W 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 这里我自己说一下我自己学的感受吧 。 int findset(int a) //不带路劲压缩 { while(pa[a] != a) { a = pa[a]; } ... 阅读全文
posted @ 2014-07-31 08:32 DF丶大W 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 看了这些代码之后 总结了一下 其实就那三个for 循环 一:找与v有连接的点 。二:从这些连接的点找到最小,把他看成是下一次的v 。 三: 你要把有出现的那些边 更新掉 。 详解在代码里写出了 #include#include#includeusing namespace std ;#d... 阅读全文
posted @ 2014-07-31 08:31 DF丶大W 阅读(291) 评论(0) 推荐(0) 编辑