
图论
QingQingDE23
这个作者很懒,什么都没留下…
展开
-
AcWing 456. 车站分级 题解(拓扑排序、差分约束)
①转化为查分约束问题。②巧妙地建立虚拟源点。原创 2022-07-22 17:38:25 · 227 阅读 · 0 评论 -
AcWing 164. 可达性统计 题解(拓扑排序)
新掌握一个容器bitsetS,这个二进制数S的长度为N,可以储存N位二进制数。可以说是一个多位二进制数,每八位占用一个字节,因为支持基本的位运算,所以可用于状态压缩,n位bitset执行一次位运算的时间复杂度可视为n/32.用二进制的1表示可达到的点,先进行拓扑排序,之后按拓扑排序的逆序进行dp,进行或运算,f[i]储存的是点i能到达那些点,每个1都表示一个点。...原创 2022-07-22 14:43:29 · 113 阅读 · 0 评论 -
AcWing 1191. 家谱树 题解(拓扑排序)
拓扑排序建立一个队列,遍历所有点,将度数为1的点全部加入队列中,之后队内元素依次出队,对出队的点遍历所有临边,将这些临点的入度–,如果临点的入度为0,则加入队列中,重复遍历下去,直到队列为空。...原创 2022-07-22 09:43:30 · 404 阅读 · 0 评论 -
AcWing 1123. 铲雪车 题解(欧拉回路)
因为路径是双向的,所以相当于每个点的入度都等于出度,所以图中一定存在欧拉回路,就是输一定能不重复的走完每条路,所以只用计算总里程之后算时间即可。原创 2022-07-21 11:32:04 · 224 阅读 · 0 评论 -
AcWing 379. 捉迷藏 题解 (最小路径不重复点覆盖)
代码】AcWing379.捉迷藏题解(最小路径不重复点覆盖)原创 2022-07-18 21:45:26 · 101 阅读 · 0 评论 -
AcWing 378. 骑士放置 题解(最大独立集=n-最小点覆盖=n-最大边匹配)
代码】AcWing378.骑士放置题解(最大独立集=n-最小点覆盖=n-最大边匹配)原创 2022-07-18 11:49:01 · 117 阅读 · 0 评论 -
AcWing 376. 机器任务 题解(最小覆盖点==最大匹配边、匈牙利算法)
在二分图中,最大边匹配=最小点覆盖,这道题就是将链接a、b的所有相连边都匹配,求最小匹配数量。原创 2022-07-18 10:46:05 · 103 阅读 · 0 评论 -
AcWing 372. 棋盘覆盖 题解(二分图、匈牙利算法)
匈牙利算法(渣男算法)将所有格子看做点,格子之间连一条边,对这张图进行二分匹配,找最大匹配点对数。原创 2022-07-17 10:37:36 · 173 阅读 · 0 评论 -
AcWing 257. 关押罪犯 题解(二分图)
解题思路用二分找到最小的mid值,大于这个值的边的两个点需要分到二分图的两部分中,也就是染成两个不同的颜色。所有点都进行染色,判断是否由冲突,如果有的话就增大mid,如果没有冲突就可以继续减小mid,因为一个二分图减小一些边一定还是二分图。...原创 2022-07-17 09:15:03 · 109 阅读 · 0 评论 -
AcWing 396. 矿场搭建 题解(tarjan割点)
懒得写了,直接照搬大佬的题解。原创 2022-07-16 18:49:59 · 121 阅读 · 0 评论 -
AcWing 1183. 电力 题解(无向图的双连通分量、割点)
代码】AcWing1183.电力题解(无向图的双连通分量、割点)原创 2022-07-16 12:13:29 · 214 阅读 · 0 评论 -
AcWing 395. 冗余路径 题解(无向图的双连通分量)
解题思路将全部点求强连通分量之后进行缩点,求这些大点的度数,只要将度数为1的大点之间建立一条新边,就能达成所有点之间都不止一条通路。原创 2022-07-15 17:29:28 · 163 阅读 · 0 评论 -
AcWing 368. 银河 题解(强连通分量做差分约束问题)
利用强连通分量求正环,在强连通分量内任意两点其实都是一个环,如果任意强连通分量内的任意两点的权值大于0,那么就说明这是一个正环,则无解。求最小->求所有下界的最大->最长路√。求最大->求所有上界的最小->最短路。N颗恒星的亮度值总和至少有多大。...原创 2022-07-15 14:58:37 · 150 阅读 · 0 评论 -
AcWing 1175. 最大半连通子图 题解(tarjan缩点拓扑序dp)
AcWing 1175. 最大半连通子图原创 2022-07-14 10:27:13 · 92 阅读 · 0 评论 -
AcWing 367. 学校网络 题解(tarjan dfs序时间戳+缩环成点)
AcWing 367. 学校网络大佬题解原地址原创 2022-07-13 22:56:47 · 107 阅读 · 0 评论 -
AcWing 1174. 受欢迎的牛 题解(tarjan dfs序时间戳+缩环成点)
AcWing 1174. 受欢迎的牛求强连通分量的tarjan算法要记住原创 2022-07-13 18:52:16 · 121 阅读 · 0 评论 -
AcWing 352. 闇の連鎖 题解(最近公共祖先、树上差分)
AcWing 352. 闇の連鎖遍历每条附加边,利用树上查分标记树上值,之后遍历树上的每条边,如果这条边的边上值大于1,因为减去主要边之后只能再减去一条边,所以这条边不能用,ans不变,如果这条边树上值为0,代表减去这条主要边之后减去任一附加边都行,就让ans += m,如果这条边树上值为1,代表减去这条边之后再减去一条附加边即可,就让ans++,遍历完所有边之后ans的值就是答案...原创 2022-07-13 10:28:08 · 91 阅读 · 0 评论 -
AcWing 356. 次小生成树 题解(lca)
AcWing 356. 次小生成树本题利用lca的妙处在于,利用lca快速找到两点间最小和次小的边原创 2022-07-12 17:29:56 · 130 阅读 · 0 评论 -
AcWing 1171. 距离 题解(最近公共祖先)
AcWing 1171. 距离用vector+pair记录离线查询,好好记一下利用最近公共祖先算出树上两点距离,好好学一下原创 2022-07-11 10:24:38 · 146 阅读 · 0 评论 -
AcWing 1172. 祖孙询问 题解(最近公共祖先lca)
AcWing 1172. 祖孙询问寻找最近公共祖先lca模板题原创 2022-07-10 21:29:47 · 111 阅读 · 0 评论 -
AcWing 393. 雇佣收银员 题解(spfa算法负环做差分约束)
AcWing 393. 雇佣收银员原创 2022-07-10 12:24:27 · 126 阅读 · 0 评论 -
AcWing 1170. 排队布局 题解(spfa求负环解决约束差分)
AcWing 1170. 排队布局这里要注意求的是最大值,所以要用最短路,建图的时候也是从大于号指向小于号大佬题解原创 2022-07-08 22:41:30 · 137 阅读 · 0 评论 -
AcWing 362. 区间 题解(spfa负环做差分约束问题)
AcWing 362. 区间这道题是求集合内的数的个数的最小值,所以要用最长路径,dist[i]数组表示的是从1~i取的数的个数,所以有三道限制(S[i] >= S[i - 1]、S[i] - S[i - 1]原创 2022-07-07 18:50:32 · 81 阅读 · 0 评论 -
AcWing 1169. 糖果 题解 (spfa负环做差分约束问题)
AcWing 1169. 糖果(spfa负环做差分约束问题)将题中所给条件转化为不等式(左小右大),不等式等价于建图时的边,再找到一个合适的源点(一般是建立0点为超级源点),注意合适是值这个点能到达所有其他点,之后将所有给出的边加入图中,之后将每个点都和超级源点都建立连接,之后跑spfa,如果存在正环的情况下,说明不能找到合适的值,否则就更新出每个点的最大路径。最大路径值之和就是题中所求最小糖果数如果求最小值,应该用最长路,如果求最大值,应该用最短路大佬详解这类题做法...原创 2022-07-07 15:50:59 · 109 阅读 · 0 评论 -
AcWing 1165. 单词环 题解(spfa最大环)
AcWing 1165. 单词环这道题需要学习的是建图方式的巧妙性,另外需要注意在巧妙建图的同时要注意和题意的等价性,之后就是按照模板求最大环大佬题解原地址原创 2022-07-06 23:07:56 · 203 阅读 · 0 评论 -
AcWing 361. 观光奶牛 题解(spfa求正环)
AcWing 361. 观光奶牛由图中公式可知,这道题让求的是有一个正环即可,所以要寻找的是最长路径,所以if中的判断句判断的是能否找到更长边值原创 2022-07-06 16:16:31 · 183 阅读 · 0 评论 -
AcWing 904. 虫洞 题解(spfa求负环)
AcWing 904. 虫洞负环就是图中存在的权值之和为负数的环,如果图中存在负环,则农夫一定能返回起点,反之一定不能,所以这是一个裸的求负环的题目。用spfa记录最短路上的边的数量,如果某条路径上边的数量大于等于n,则可以认定这条路上存在负环,返回true即可,反之返回false...原创 2022-07-06 15:24:44 · 152 阅读 · 0 评论 -
AcWing 346. 走廊泼水节 题解(推公式、最小生成树)
AcWing 346. 走廊泼水节解题关键在于推出公式:**(Size[a] * Size[b] - 1) * (w + 1)**这个公式的意义按揭的:遍历到某条边连接的属于两个不同的连通块的两个点,将两个联通块的所有点互相连接,减去已经存在的一条边 ,推出公式后,按照最小生成树的算法遍历所有边,找出不在一个连通块的两个点用公式累加计算值...原创 2022-07-06 09:17:33 · 179 阅读 · 0 评论 -
AcWing 1145. 北极通讯网络 题解(最小生成树 | 克鲁斯卡尔算法、并查集)
AcWing 1145. 北极通讯网络解题思路:无线通讯相当于将若干村子合成连通块,卫星就是将这些连通块连在一起,利用并查集记录连通块的数量,起初连通块的数量就是村子的数量,这时候无线通信的距离从0开始依次增长,则连通块的数量依次减少,直到连通块的数量小于等于卫星数量,就是符合题意的无线通信的距离...原创 2022-07-05 17:46:17 · 150 阅读 · 0 评论 -
AcWing 1146. 新的开始 题解(最小生成树 | 普里姆算法)
AcWing 1146. 新的开始刚开始没注意审题,不知道可以建多个电站,明确题意就是引入别的电站便宜就引入别的电站,自己建电站便宜就自己建。解题思路:设置一个超级电站相当于0点,然后让其他点和这个超级电站建立联系,包含0点和所有点的最小生成树的权值之和就是最小花费...原创 2022-07-05 16:37:53 · 142 阅读 · 0 评论 -
AcWing 1144. 连接格点 题解(最小生成树 | 克鲁斯卡尔算法)
AcWing 1144. 连接格点发现点多之后就用二维坐标映射到一维,之后就是将所有边都考虑,建图(注意建图get_edge中的先遍历纵向边的小技巧,只能说妙啊妙),之后就是跑克鲁斯卡尔算法,不用担心已经给出的边,因为会提前把他们处理进连通块,这样建最小生成树的时候就不会被这部分权重影响...原创 2022-07-05 12:09:55 · 129 阅读 · 0 评论 -
AcWing 1143. 联络员 题解(最小生成树 | 克鲁斯卡尔算法)
AcWing 1143. 联络员克鲁斯卡尔找最小生成树,本题有一些特殊之处在于,那些必选的路径是提前算进联通块内,一个由必选路径和点构成的连通块算一个大节点,然后在这些大节点之间找最小生成树...原创 2022-07-05 11:12:43 · 132 阅读 · 0 评论 -
AcWing 1142. 繁忙的都市 题解(最小生成树)
AcWing 1142. 繁忙的都市克鲁斯卡尔算法求最小生成树里最大的边,记录最后加入最小生成树内的边即可原创 2022-07-05 10:28:01 · 91 阅读 · 0 评论 -
AcWing 1141. 局域网 题解(kruskalkruskal 求最小生成树)
AcWing 1141. 局域网 克鲁斯卡尔求最小生成森林(就是每个联通块求最小生成树),克鲁斯卡尔的算法过程刚好是从小到大依次将边加入集合中,所以这里刚好利用克鲁斯卡尔算法求原创 2022-07-04 12:46:56 · 158 阅读 · 0 评论 -
AcWing 1140. 最短网络 (最小生成树)
AcWing 1140. 最短网络最小生成树模板原创 2022-07-03 16:40:48 · 192 阅读 · 0 评论 -
AcWing 345. 牛站 题解(floyd的性质、倍增)
AcWing 345. 牛站解题思路:本体所用的floyd和求最短路的floyd本质不同,虽然都是三重循环,但本题中的d[k][i]j]表示的是由i~j经过k条边的最短距离,在确定这个之后,进一步推d[a+b][i][j] = min(d[a+b][i][j],d[a][i]k] + d[b][k][j]),由于d[a][i]k] 和 d[b][k][j]之间不相互影响,所以可以联想出由快速幂得到最短距离大老远题解...原创 2022-07-03 15:54:26 · 218 阅读 · 0 评论 -
AcWing 344. 观光之旅题解(floyd求无向图的最小环问题)
AcWing 344. 观光之旅这题是利用floyd的性质求无向图的最小环问题,注意记录路径和求最小中间点的先后顺序和顺序的意义(因为要求的是环,先求环的时候,此时k还未更新成i、j之间最短的点,所以在path[cnt ++ ] = k和下一行的get_min中path[cnt ++ ] = k的k值不同,保证了是一个环)...原创 2022-07-03 11:10:10 · 154 阅读 · 0 评论 -
AcWing 343. 排序 题解(floyd性质实现传递闭包)
AcWing 343. 排序利用floyd三重循环实现闭包传递,学到了,利用最短路性质实现别的功能原创 2022-07-02 16:17:49 · 93 阅读 · 0 评论 -
AcWing 342. 道路与航线 题解 (最短路、拓扑排序)
AcWing 342. 道路与航线y总说是个难题,确实,比写十道简单题都有用。代码量很大的一道题,但是学到了很多,由道路想到拓扑排序,利用拓扑排序每个点只会被访问一次的性质可知,这也是一种找最短路的方法,所以先在联通块内跑jk最短路,之后进行所有连通块的拓扑排序,就能找到整个图的最短路...原创 2022-06-23 15:21:35 · 125 阅读 · 0 评论 -
AcWing 1135. 新年好 题解(最短路+搜索)
AcWing 1135. 新年好比较复杂的一道题,需要DFS+最短路,先用spfa找出六个起点到其余个点的最短路,再暴搜所有走亲戚的路线方案,找到最小值返回原创 2022-06-22 14:10:06 · 255 阅读 · 0 评论