
图论
文章平均质量分 71
cxylyq526
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
带权并查集
带权并查集为什么要用带权并查集普通并查集只能解决集合间的关系,判断元素属不属于一个集合和一共有多少个集合带权并查集可以判断集合内部元素之间的关系,甚至是元素之间的权值题目1.食物链题目链接:http://poj.org/problem?id=1182.动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都...原创 2019-11-24 10:55:01 · 161 阅读 · 0 评论 -
How Many Tables ——(并查集)
并查集并查集的主要思想就是查找两个子节点的父亲节点是否是同一个,和把两个父亲节点的集合合成一个。并查集的路径压缩:大概思想就是把一棵树上的所有子节点(和根节点直接相连的,没有和根节点直接相连的)全部都直接连在根节点上。并查集算法主要就是查找父亲节点,所以有些路径本来就没有什么必要,压缩掉也没关系#include <iostream>#include<stdio.h>...原创 2019-07-19 09:40:41 · 149 阅读 · 0 评论 -
图(一)——最短路(SPFA)
最短路(SPFA)SPFA算法是Bellman-Ford算法优化得来的,可用来判断是否存在从源点可达的负环(Dijkstra无法做到)#include <iostream>#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>#includ...原创 2019-07-20 10:39:49 · 136 阅读 · 0 评论 -
图(一)——最短路(Floyd)
最短路(Floyd)可解决全员最短路问题,即可求出任意一点到另一点的最短路径,但因为主要代码有三层循环,只能在数据较小的时候使用#include <iostream>#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>#include&l...原创 2019-07-20 10:59:18 · 165 阅读 · 0 评论 -
图(一)——最短路(Dijkstra)
最短路常用的最短路算法有Dijkstra,SPFA,Floyd,可根据题目不同选择不同算法一.Dijkstra算法可用来解决单源最短路问题,即起始点是固定的,只能算一固定点到其他所有点的最短路问题大致思路:1.设定以V0为起点,将V0到其他所有点距离设置为INF(无穷大)2.为访问的点{V0,V1,V2,V3,V4,V5},在这些点中,距...原创 2019-07-17 20:45:07 · 655 阅读 · 0 评论 -
确定比赛名次——(拓扑排序)
拓扑排序一.大致思路1.将入度为0的点压入队列,将V0压入队列2.取出队首元素V0,将V1,V3,V4的入度减1;3.再次判断入度为0的点,将V1压入队列4.取出队首元素V1,V3的入度减1;5.再次判断入度为0的点,将V3压入队列;6.取出队首元素V3,V4和V2的入度减1;7.再次判断入度为0的点,将V4和V2压入队列8.取出队首元素V4或V2(具体先取出那个根据题目要求判...原创 2019-07-20 19:48:02 · 376 阅读 · 0 评论