![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
拓扑排序
文章平均质量分 79
ez_lcw
这个作者很懒,什么都没留下…
展开
-
【XSY3325】社保(拓扑序)
显然我们先缩点,之后转化为一个 DAG,设为 GGG,设由其反边构成的图为 G′G'G′。题意就是求所有 “好的” 点,其中一个 “好的” 点需要满足这个点在 GGG 上能走到的点和在 G′G'G′ 上能走到的点的并集为所有点。 思路 1:显然一个点不可能同时在 GGG 和 G′G'G′ 上都能被同一个点 uuu 走到(除了这个点就是 uuu),于是我们可以在 GGG 和 G′G'G′ 上分别求出 uuu 能走到的点的个数,再加起来判断是否等于 n+1n+1n+1。但你发现这个能走到的点的个数并不好快速求。原创 2021-09-09 13:35:05 · 153 阅读 · 0 评论 -
【ARC083F】Collecting Balls(图论模型,二分图,基环树,拓扑序)
首先用 2n2n2n 个点表示每个机器人,原图中的一个球转化为图上的一条边,于是转化为一个二分图模型。 我们对这个二分图的每个连通块分开考虑(假设有 cntcntcnt 个连通块),显然一个大小为 sss 的连通块应该有 sss 条边,于是这既是一个二分图也是一个基环树。 二分图+基环树唯一的性质应该就是基环树中间的那个环是偶环,但这个性质在这题没什么用。 考虑先选出每个球是被哪个机器人消灭的,这就相当于一个边定向问题。我们为这个图上面的每一条边定向,边指向的点表示这条边所代表的球是被那个指向的机器人消灭的原创 2021-09-09 12:59:35 · 141 阅读 · 0 评论 -
【XSY3990】Alice 和 Bob 双在玩游戏(博弈,dp,拓扑,背包)
题面 Alice 和 Bob 双在玩游戏 题解 注意到这里一个人无法操作后,另一个人也不一定无法操作(即不像普通的取石子游戏一样),所以考虑转化一下他们各自的最优策略:双方都想让自己比对方尽可能多移动一些步。 然后注意到每一颗石子都是相互独立的,即一个点上多一颗石子不会影响其他石子。 所以考虑设 fif_ifi 表示:若在 iii 节点上多放一颗棋子,在双方都使用最优策略的情况下,Alice 能比 Bob 最多多走多少步。(fif_ifi 可能是负数,因为 iii 节点的颜色是不确定的) 容易得到转移方原创 2021-04-06 07:37:44 · 899 阅读 · 0 评论 -
【AGC010E】Rearranging(博弈,图论,拓扑排序)
考场上想了很久才想到做法,然后考完后又想了很久,加上看了一下一些大佬的博客和 Atcoder 的官方题解,才完整地证明了整个做法的正确性。综合了一下,在这里详细阐述: 首先发现如果两个数不互质而且相邻,那么他们之间的相对位置不会改变。(就是本来在左边的不能跑到右边去) 考虑如果先手给出的排列是 a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1,a2,⋯,an。 然后对于 i<ji<ji<j,如果 gcd(ai,aj)≠1\gcd(a_i,a_j)\neq 1gcd(a原创 2020-10-04 21:12:22 · 210 阅读 · 0 评论