
Floyd
文章平均质量分 54
x_1023
这个作者很懒,什么都没留下…
展开
-
BZOJ 1143 [CTSC2008] 祭祀river - Dilworth定理(二分图匹配)+Floyd传递闭包
考察内容:二分图匹配Dilworth定理:最长反链长度=最小链覆盖 对偶定理:最长链长度=最小反链覆盖其中反链是指链覆盖后剩余的点组成的集合,在其中的点不能相互抵达而链反之需要寻找最多的不被链覆盖的点,其数量恰等于最小链覆盖数,对于本题来说即为有向图的最小路径覆盖,考虑到二分图匹配中 最大匹配=n-最小路径覆盖证明即:最小路径覆盖数=最大匹配的路径数(一条路径原创 2017-08-14 00:34:52 · 281 阅读 · 0 评论 -
POJ 1422 Air Raid - 最小路径覆盖(二分图)-易错题
考察内容:最小路径覆盖题意:给定一张有向图,每个节点只能经过一次,求最小路径覆盖数易错点:注意Floyd传递闭包与否取决于一个节点能否经过多次考虑二分图求最小路径覆盖即为匹配出一个点的前驱和后驱,而对于节点只能经过一次的情况,不能存在路径交叉eg:a1->b->c1,a2->b->c2,若传递闭包判断连通性,则匹配为 a2-c2,a1-b-c1,其原创 2017-08-14 00:25:06 · 208 阅读 · 0 评论 -
BZOJ 1491 [NOI2007]社交网络 - Floyd(相关的DP思想)
首先关于Floyd的理解,有一篇博客讲的很详细: http://www.cnblogs.com/chenying99/p/3932877.htmlFloyd从本质上来讲是一种DP+滚动数组优化,省去了一维k,即对于已用几条边的讨论,而在这道题中,所求的是两点之间经过k点的最短路径条数,那么在dp时加上用乘法原理实现的路径条数统计即可。最后经过k点的条数统计一下即可。这道题还要注意一个问题,最后统计原创 2017-10-28 14:30:22 · 249 阅读 · 0 评论 -
POJ 3613 Cow Relays - 倍增Floyd(矩阵加速幂)
大概是倍增Floyd的模板题。Floyd的原理是一个一个点向图中加,k表示已经加了k个点,并且加点可以累加。(可以参考上篇博文)而这道题恰是强制加入T个点,那么我们可以将T利用一种类似于加速幂的思想向其中加点。而需要注意的是,两个数组的合并需要第三个辅助数组维护,辅助数组初值应设为无限大,用已知的两个数组去更新辅助数组,最后将辅助数组中的值赋给答案数组。 还需要注意,答案数组一开始除了自己到自己,原创 2017-10-28 22:58:05 · 258 阅读 · 0 评论 -
BZOJ 2208 [Jsoi2010]连通数 - Tarjan_SCC/Floyd+bitset优化
首先进行Tarjan缩点,将自环缩成一个点,已知自环中点相互连通,现在只需求环与环之间的联通情况。这里需要反向建图,利用从子节点更新父节点的思想,把to的点信息传给from。最后是一个原创 2017-09-13 23:01:33 · 518 阅读 · 0 评论