QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: ucup-team7870

Posted at: 2026-04-17 19:15:20

Last updated: 2026-04-17 22:47:03

Back to Problem

题解

假设知道二端串并联图的答案 $g_{n,m}$,考虑怎么求 $ans$。一个图最终缩图操作成功当且仅当是单点,而非法情况满足所有点度数 $>2$ 且无重边自环,这样图为非法的 $G'$。最终用全集容斥掉缩到非法图的贡献即可。

考虑求 $ans_{n,m}$,并且得知没有进行任何操作就已经成为不好的图的数量 $h_{x,y}$。坏图 $G'$ 与原图的关系:边是由二端串并联图缩掉,点是由广义串并联图缩成。求出更小的 $ans$ 以及 $g$ 就容易对此合并。

求 $h$:考虑扫描线 $1\to n$ 加点,记录当前度数为 $0/1/2$ 的数量,以及总边数。逐个考虑每一类的转移就可以做到 $\mathcal O(n^5m)$ 求 $h$,注意再用连通图计数的技巧容斥成连通的。或者直接对度数为 $0/1/2$ 的点进行容斥也是可行的。

算二端串并联图的方案数 $g$:首先把一条边张成一个 DAG,满足源汇统一,且只可以做 compress,twist 的操作来变成一条边,对这个结构 dp 为 $g'$,大概就是限定这一步必须是 twist 还是 compress,注意处理重边。再将每个点视为广义串并联图缩成的结果,这是因为这样的最后一步一定是 rake。

复杂度是 $\mathcal O(\text{poly}(n,m))$ 的。

在和出题人的讨论中,发现这似乎和双连通性有一些神秘的联系,比如割边就没什么用。

出题人已经承认了该做法的正确性。

Comments

No comments yet.