随笔分类 - 图论——边双连通分量&点双连通分量&强连通分量
摘要:X.[NOI2017] 游戏 因为并没有专门开2SAT笔记,所以就放这了 好久没用2SAT了,都忘光了…… 首先,我们可以 枚举所有 x 型赛道是当 a 型用还是当 b 型用,因为 a 型允许你选 B 和 C,而 b 型又允许你选 A,这样就涵盖了全部情形。 这样之后,我们便考虑建立
阅读全文
摘要:V.CF639F Bear and Chemistry 大毒瘤题一道。 先边双缩点缩成森林,再对每组询问建出虚树,再连上边跑Tarjan求边双即可。 是不是很simple?但是相信我,码起来会让你发疯的 代码: #include<bits/stdc++.h> using namespace std;
阅读全文
摘要:XXXVIII.[NOI2016] 网格 首先,答案一定 ,因为四个角的跳蚤被围住只需要两个蛐蛐,而如果蛐蛐占住了一个角又会产生新的角。 的情形比较容易,要么空隙少于 个,要么仅剩的两个空隙在一起。两种情况下 都与
阅读全文
摘要:X.[SDOI2012]走迷宫 这题本来是一个SCC+高斯消元的模板题来着的……但关键是DP状态的设计。 首先先判一下无解。显然,如果从起点出发能够走到一个走不到终点的点,则为无解。这很好想——只要答案有为无穷大的可能,无论概率多小,最终答案都会为无穷大。 然后就是DP设计了。我们无论设什么从起点出
阅读全文
摘要:IX.[BZOJ4998]星球联盟 这题就比较套路了(虽然我的程序还好好让我debug了一会),比上一题还要简单,直接暴力维护点双即可。 代码: #include<bits/stdc++.h> using namespace std; #define lson t[x].ch[0] #define
阅读全文
摘要:VIII.[BZOJ2959]长跑 我想把出这么毒瘤的题的人拖出来揍一顿 这题稍微想想,就是动态维护点双连通分量并缩点,然后在缩出来的树上求两点距离。 思想简单但代码极其复杂。 首先,我们可以使用冰茶姬维护点双,所有的点全都并到一个冰茶姬中,除了冰茶姬的象征节点,其它的点一律全都删去,不保留任何信息
阅读全文
摘要:LCVIII.[POI2006]PRO-Professor Szu 我要举报……本题数据与题面不符(事实上我已经举报了……),会有到不了主楼的情形,要特别考虑。 思路很简单,我们跑SCC缩点。假如一个SCC内部有自环,显然可以一直绕自环,故答案是无限;同时,所有可以走到该SCC的其它点答案都是无限。
阅读全文
摘要:LXXXIV.CF51F Caterpillar 也不知道算不算DP,反正就放这吧。 首先我们很轻松就能想到关于“环”,或者进一步地说,“边双连通分量”。因为最终图中不能有环,所以每个边双肯定最终会被缩成一个点。那么我们就也来缩一下。 在缩点之后,我们便得到了一片森林。 很明显对于每一棵树,我们都应
阅读全文
摘要:XVIII.[HAOI2010]软件安装 不知道大家有没有做过这道题[CTSC1997]选课啊,反正我一看到这道题,就想起了它——都是树上背包。所以我便高高兴兴的敲了一发背包交上去。 然后呢?光荣的WA掉了。 为什么呢? 因为这道题和选课不一样;选课是你没有修完前一节课就不能修这节;但是本题是你装软
阅读全文
摘要:XII.[CFGYM100221C]Forbidden Subwords ”双向无限“之类东西太抽象了,我们不妨从简单点的地方考虑。比如说,有限串。 一个有限串中没有出现任何禁忌串的充要条件是什么?沿着AC自动机上边走时没有碰到任何结束点。 现在,我们考虑一个右侧无限的串(即有一个明确开头,但另一端
阅读全文