
图论
HownoneHe
即使是微弱的光芒,当它们一点一滴汇聚起来,积攒到一定程度时也会化为璀璨的烟火,绽放出耀眼的美丽
展开
-
匈牙利算法详解
最大流算法的核心问题就是找增广路径(augment path)。匈牙利算法也不例外,它的基本模式就是:初始时最大匹配为空while 找得到增广路径 do 把增广路径加入到最大匹配中去可见和最大流算法是一样的。但是这里的增广路径就有它一定的特殊性,下面我来分析一下。 (注:匈牙利算法虽然根本上是最大流算法,但是它不需要建网络模型,所以图中不再需要源点和汇点,仅仅是一个二分图。每条边也不需原创 2016-04-22 20:07:03 · 11133 阅读 · 0 评论 -
JZOJ 4679【NOIP2016提高A组8.11】种树
Description The Solution首先明确树的概念:我们可以理解成,有n−1 条边的无向连通图“有 n−1 条边”提示我们最终图里有 n−2条边,所以你需要删一个度数为 m−(n−2)的结点。因为删掉这个点后剩下的图仍然连通,所以这个点不能是割点。用 Tarjan 算法求割点,然后输出所有不是割点且度数满足条件的结点就行了。Code#include <cstdio>#include原创 2016-08-12 19:48:09 · 692 阅读 · 0 评论 -
Tarjan强连通分量详解补充
这是一篇关于Tarjan的算法讲解,个人觉得不错,来展示一下分享。。。由于不知怎么转载。。(别打脸,蒟蒻一枚),于是自己重新整理后再发表 ——前言说到以Tarjan命名的算法,我们经常提到的有3个,其中就包括本文所介绍的求强连通分量的Tarjan算法。原创 2016-05-25 20:28:27 · 1478 阅读 · 0 评论 -
【NOIP2016提高A组8.12】通讯
Description “这一切都是命运石之门的选择。” 试图研制时间机器的机关SERN截获了中二科学家伦太郎发往过去的一条短信,并由此得知了伦太郎制作出了电话微波炉(仮)。 为了掌握时间机器的技术,SERN总部必须尽快将这个消息通过地下秘密通讯网络,传达到所有分部。 SERN共有N个部门(总部编号为0),通讯网络有M条单向通讯线路,每条线路有一个固定的通讯花费Ci。 为了保密,消息的传递原创 2016-08-12 21:11:01 · 597 阅读 · 0 评论 -
【NOIP2014模拟11.2A组】福慧双修
题意给定一个图,要我们从1号点出发,经过一系列点后重新回到1点,求出最短距离是多少,限制是每条边只能通过一次。分析对于这种求最短路径的题,我们一开始当然是想到SPFA,DIJ等一些列的求最短路算法了啦。但是怎么处理那些限制条件呢,能解决这个问题,就可以切了这题了。首先,我们可以先把原图构建出来,跑一遍SPFA求出每个点到1的最短距离dis[i],并设Pre[原创 2018-01-26 16:08:15 · 334 阅读 · 0 评论 -
【NOI2015模拟8.19】图(SPFA)
Description给定一个 n 个点 m 条边的无向图,进行多次询问,每次询问点 a 是否能经过恰好 c 条边到达点 b(当然,可以对于一条边可以来回经过多次) 。Input第一行三个数 n,m,q,其中 q 表示询问数。 接下来 q 行,每行三个数 a,b,c。Output对于每次询问,如果存在一种走法,输出 TAK,否则输出 NIESample Input8 7 4 1 2 2 3原创 2018-02-03 08:43:45 · 326 阅读 · 0 评论