并查集
latstars
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
初学并查集的例题1 X-Plosives,LA 3644
下面贴出自己模仿的训练指南上的代码以及自己对并查集的一些思考。 //采用并查集的思想,将一种包含两种元素的化合物当做一条无向边 //由于要使得k中种元素的时候有种化合物,所以相当于有k条边,且每种元素之间 //只需要一条边 //因此相当于有了一个环包含了,因为一个环含k个节点和k条边. //并查集表示的是在这个集合中所有元素都是可以从任一元素到达的, //就是说是联通的,如果在保证每次原创 2016-04-27 19:46:04 · 424 阅读 · 0 评论 -
初学并查集的例题2 UVA 11987 Almost Union-Find
贴出ac的代码,以及思考中遇到的cuo'wu //很明显并查集的题目(题目已经说了)需要一点技巧 //采用一个不会是元素的大于maxn整数来当作根节点,这样就不会产生一个节点是跟节点 //其实是可以实现的只要把大于maxn的节点的父亲也设置为自己就好了 //因此不会有一个要移出的节点会是根节点哦,就没问题了 //改代码采用了maxn+i来做根节点。 //要实现三个函数合并,移出和查询,原创 2016-04-27 22:51:07 · 554 阅读 · 3 评论 -
POJ 1861 Network 并查集和krusral算法
下面贴出代码 和 当时写题时犯的错误 ,当时查了一下krusral算法的大致思路 //采用最小生成树算法krusral 用并查集查询是否已经连通 //将所有的边按照权值从小到大排序,可以用优先队列来储存边 //接下来初始化每个点为独立的一个集合 //从边集中选者最短的一条边且这条边不会使得俩个点能形成一个环 //就是说这条边的两个端点不会在同一个连通分量中 //错误一 没有看清题目输出要求 漏原创 2016-04-28 23:02:03 · 333 阅读 · 0 评论 -
POJ 1308 Is It A Tree?再谈 并查集3
是一个判断是否为树的题目 下面是树的定义There is exactly one node, called the root, to which no directed edges point. //根节点没有父节点Every node except the root has exactly one edge pointing to it. //每一个节点有且仅有一个父节点//这就是判断不要fv!原创 2016-04-29 12:12:21 · 372 阅读 · 0 评论 -
poj 1251 最小生成树 krusral算法
刚开始没有想好怎么输入,才想起scanf可以格式化输入的下面是代码//Jungle Roads poj 1251 //最小生成树 //有一个路网,要求选取出一些路使得所有的权值最小 //可以用krusral算法 //输入比较复杂啊 //用一个大写字母来表示每个节点 //每条边只写一次 #include #include #include using namespace std; const int原创 2016-04-30 00:26:07 · 494 阅读 · 0 评论
分享