![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 79
醉语梦
“These are the night that never die”
展开
-
最小生成树
1.kruskal(克鲁斯卡尔)算法将所有边由小到大排序,依次进行有效的扩展(即有一节点加入集合),直到已经形成一棵树,此时生成的树即为最小生成树 ps:需用并查集才更好//洛谷1546#include#includeusing namespace std;int n,cnt,sum,ans;int fa[105];struct edg{ int from,to原创 2018-01-06 00:04:48 · 354 阅读 · 0 评论 -
图的最短路
第一种 Dijkstra算法(堆优化)时间复杂度:无堆优化O(n^2),有堆优化O((m+n)logn)。 思想:用已经求出来的有最小值的节点松弛它所连的其他节点,即每次查找剩下所有节点中最小的一个用它松弛其他边 Dijkstra 每次循环都可以确定一个顶点的最短路径,故程序需要循环 n-1 次。 堆优化:(适用于边数远少于n^2的稀疏图)查找时用小根堆push一个节点和此节点新权值,并原创 2017-12-21 01:28:01 · 345 阅读 · 0 评论 -
Tarjan算法 (强联通分量 割点 割边)
变量解释: low 指当前节点在同一强连通分量(或环)能回溯到的dfn最小的节点 dfn 指当前节点是第几个被搜到的节点(时间戳) sta 栈 vis 是否在栈中 ans 指强连通分量的数量 top 栈顶1.求强连通分量 定义:如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极原创 2018-01-06 11:48:21 · 390 阅读 · 0 评论 -
并查集 模板
题目描述如题,现在有一个并查集,你需要完成合并和查询操作。输入输出格式输入格式: 第一行包含两个整数N、M,表示共有N个元素和M个操作。接下来M行,每行包含三个整数Zi、Xi、Yi当Zi=1时,将Xi与Yi所在的集合合并当Zi=2时,输出Xi与Yi是否在同一集合内,是的话输出Y;否则话输出N输出格式: 如上,对于每一个Zi=2的操作,都有一行输出,每行包含一个大写字原创 2018-01-25 17:56:55 · 123 阅读 · 0 评论 -
P3378 【模板】堆
题目描述如题,初始小根堆为空,我们需要支持以下3种操作:操作1: 1 x 表示将x插入到堆中操作2: 2 输出该小根堆内的最小数操作3: 3 删除该小根堆内的最小数输入输出格式输入格式: 第一行包含一个整数N,表示操作的个数接下来N行,每行包含1个或2个正整数,表示三种操作,格式如下:操作1: 1 x操作2: 2操作3: 3输出格式: 包含若干行正整...原创 2018-01-25 17:57:59 · 392 阅读 · 0 评论 -
[luogu3231 HNOI2013] 消毒 (二分图最小点覆盖)
传送门Description最近在生物实验室工作的小T遇到了大麻烦。 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为a*b*c,a、b、c 均为正整数。为了实验的方便,它被划分为a*b*c个单位立方体区域,每个单位立方体尺寸为1*1*1。用(i,j,k)标识一个单位立方体,1 <=i<=a,1<=j<=b,1<=k<=c。这个实验皿已经很...原创 2018-08-20 14:42:14 · 225 阅读 · 0 评论 -
[bzoj4766] 文艺计算姬 (矩阵树定理)
Description“奋战三星期,造台计算机”。小W响应号召,花了三星期造了台文艺计算姬。文艺计算姬比普通计算机有更多的艺 术细胞。普通计算机能计算一个带标号完全图的生成树个数,而文艺计算姬能计算一个带标号完全二分图的生成树 个数。更具体地,给定一个一边点数为n,另一边点数为m,共有n*m条边的带标号完全二分图K_{n,m},计算姬能快 速算出其生成树个数。小W不知道计算姬算的对不对,...原创 2018-08-20 09:03:26 · 119 阅读 · 0 评论