![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论-拓扑排序
Maxwei_wzj
AFO
展开
-
【NOI2009T4】植物大战僵尸-最大权闭合子图+拓补排序
【NOI2009T4】植物大战僵尸-最大权闭合子图+拓补排序原创 2017-03-11 17:24:46 · 425 阅读 · 0 评论 -
【LuoguP4934】礼物(LGR-054)-Dilworth定理+优化建图+拓扑排序
测试地址:礼物做法: 本题需要用到Dilworth定理+优化建图+拓扑排序。对位运算感觉比较敏锐的话,可以看出,a&ba\&ba&b这个东西要么比a,ba,ba,b都小,要么就说明a,ba,ba,b中有一个在二进制位上是另一个数的子集。因为属于的关系是一种偏序关系,根据Dilworth定理,偏序反链最小覆盖等于最长偏序链,因此我们可以O(n2)O(n^2...原创 2018-10-24 21:11:26 · 226 阅读 · 0 评论 -
【BZOJ4484】最小表示(JSOI2015)-贪心+拓扑排序+bitset
测试地址:最小表示 做法:本题需要用到贪心+拓扑排序+bitset。 显然,如果一条边对连通性没有影响,那肯定是要删掉的。现在的问题就是如何找到这些边。 我们考虑在反拓扑序上求。考虑一个点的所有出边,对于每个指向的点,如果当前还没有找到从当前点到这个点的路径,那么当前的边就要保留,并用这个点能到达的点的集合更新当前点的集合,这个显然能用bitset做到O(nm32)O(nm32)O(\fra...原创 2018-08-20 20:07:48 · 206 阅读 · 0 评论 -
【BZOJ1093】最大半连通子图(ZJOI2007)-SCC缩点+拓扑序DP
测试地址:最大半连通子图 做法:本题需要用到SCC缩点+拓扑序DP。 乍一看这题好像没什么思路,但我们发现,如果一个点在一个最优的方案中,那么该点所在的强连通分量肯定也在这个方案中,不然就不是最优方案,因此我们先把强连通分量缩起来,这样我们就得到了一个DAG,问题变成在DAG上取一些点,使得两两间都有一个点能到达另一个点。 观察这个性质,我们发现这个性质成立当且仅当存在一条链连接所有选择的点...原创 2018-05-28 17:39:45 · 256 阅读 · 0 评论 -
【BZOJ3832】Rally(POI2014)-拓扑排序+最长路+堆
测试地址:Rally 题目大意:一个n(≤5×105)n(≤5×105)n(\le 5\times 10^5)个点,m(≤106)m(≤106)m(\le 10^6)条边的DAG,要求删掉一个点使得图的最长路最短,要求找到这个点以及最短的最长路长。 做法:本题需要用到拓扑排序+最长路+堆。 我们通常使用的求DAG的最长路的方法是,对整个图进行拓扑序DP。然而放在这题里这样做就不行了,我们必须...原创 2018-05-14 22:41:46 · 382 阅读 · 0 评论 -
【BZOJ4945】游戏(NOI2017)-2-SAT+枚举
测试地址:游戏 做法:本题需要用到2-SAT+枚举。 看到大部分的地图都只能用两种赛车,赛车之间有一些依赖关系,这显然就是个2-SAT。而对于极少数的能用三种赛车的地图,我们枚举这些地图是不用A还是不用B,这样可以保证不漏掉方案,对每种情况做2-SAT即可,这样我们就解决了这一题,时间复杂度为O(2dn)O(2dn)O(2^dn)。 注意一个比较重要的处理是,建图时如果一条限制指向的点不能使...原创 2018-05-10 15:50:56 · 228 阅读 · 0 评论 -
【BZOJ2707】走迷宫(SDOI2012)-SCC缩点+拓扑排序+期望DP+高斯消元
测试地址:走迷宫 题目大意:有一个nnn个点的有向图,人从起点SSS出发,每次等概率随机选择一条出边走出,问走到终点TTT的期望步数。n≤104n≤104n\le 10^4,一个强连通分量中的点数不超过100100100。 做法:本题需要用到SCC缩点+拓扑排序+期望DP+高斯消元。 我们很快就能根据标准的期望逆推型DP得到该题的状态转移方程,因为图中存在环,所以需要高斯消元,然而O(n3)...原创 2018-04-07 14:46:59 · 365 阅读 · 0 评论 -
【BZOJ2815】灾难(ZJOI2012)-拓扑排序+建树+LCA
测试地址:灾难 做法:本题需要用到拓扑排序+建树+LCA。 首先看到要处理DAG上的问题,自然而然地想到用拓扑排序处理出图的层次(这里的图是指从被吃的生物指向吃的生物的图)。我们发现题目要求的是,将某一个点删去后,有多少个点因此不能从最高层(即图中入度为0的点)走到,这个问题非常难考虑,如果我们能找到一个点,使得这个点被切断相当于这个点的所有食物全部灭绝,那么这样连起来就是一棵树,就可以通过求...原创 2018-03-19 20:52:11 · 285 阅读 · 0 评论 -
【NOI2010T4】航空管制-拓补排序+贪心
【NOI2010T4】航空管制-拓补排序+贪心原创 2017-04-06 11:25:08 · 503 阅读 · 0 评论 -
【SPOJ7258】Lexicographical Substring Search-后缀自动机+拓补序递推
【SPOJ7258】Lexicographical Substring Search-后缀自动机+拓补序递推原创 2017-04-02 11:36:59 · 399 阅读 · 0 评论 -
总结:最大权闭合子图
总结:最大权闭合子图原创 2017-03-11 17:45:14 · 973 阅读 · 0 评论