QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: GotoHiotori

Posted at: 2026-05-19 09:00:40

Last updated: 2026-05-19 09:15:47

Back to Problem

kawaii soupo

因为是删点故考虑圆方树,$S_1,S_2$ 的关系一定是在圆方树某个方点处断开,在这个点双内选一些点连着它的子树划给 $S_1$,其余给 $S_2$。

先考虑整张图就是一个点双的情况,也就是每个点带权 $1$,那么你手玩一下,我们优先尝试一些小情况,就比如说 $S_2$ 只选有连边的两个点,发现你可以考虑去做耳分解,我们称加一次真耳指的是加了一个含有新端点的耳,那如果这张图没有加任何一次真耳,在初始环上任取两个相邻点即可,否则取加的最后一个真耳,选择一个新端点以及其相邻的另一个点即可。

那你推广到圆方树上,你选一个方点使得其只有至多一个点是非叶子,那么你发现你几乎总能找到一个方案选择的两个端点不包括那个非叶子圆点,除非点双大小为 $2$ 或者最后一次加的真耳只有一个新端点且恰好是那个非叶子,这样看起来有点麻烦。

那你进一步把其他方点也考虑上,这样你的问题是有一个点双,每个点带 $0,1,2$ 权,选一个子集使得子集内点权和 $\equiv 2\pmod 3$,且子集与子集补的导出子图均连通。刚才的耳分解告诉你的东西是它其实很容易满足的,但是耳分解的结构只适合分析最后加的耳之类的,很受限,你考虑到构造一个点集使得其与其补的导出子图都连通的经典做法是双极定向,因为这样拓扑序上的任何一段前缀 / 后缀的导出子图都是连通的,那你套过来。首先如果存在一个点权是 $2$ 就把它拆出来就好了,其余情况下我们点权只有 $0,1$,随便选两个端点做双极定向,点权总和是 $1$,前缀和每次只能加 $0,1$,如果至少存在两个 $1$ 就一定存在一个前缀和为 $2$,而如果圆方树上每个方点相邻的都恰好只有一个子树大小 $\equiv 1\pmod 3$ 且没有子树大小 $\equiv 2\pmod 3$ 显然无解,这也就是充要条件。

讲个笑话:你只需要判断是否有解所以其实不需要写双极定向。

Comments

No comments yet.