省选集训 Day 3

学习了新知识:边三连通,耳分解,双极定向

下面是一些基础练习。

link

A

挺不错的问题。

考虑将一个点作为 \(G_0\),一个个加入耳来构造边双连通图。

容易设计 \(f_S\) 并枚举子集转移,复杂度 \(O(3^nn^2)\) 左右。

太劣了,考虑将拼耳的过程纳入 DP。

\(f_{S,j,k}\) 为当前图已经填入了 \(S\) 的点,当前在填一个耳,填到了 \(j\),目标为 \(k\)

我们发现有重边的问题,而有可能使用两条边,所以记录次短边,最短边,不妨再加一维 \(0/1\) 表示能否直接连回去,使用最短边。

转移分为以下情况:

  1. 直接连回去
  2. 新开一个耳(枚举从哪个点走,走到外面哪个点,最终走到哪里)
  3. 再走一步

B

神奇题目。

首先注意到一个大连通块可以删去 dfs 树上的叶子,因此不妨假设 \(A\le B\le C\),我们只需要让 \(A,B\) 所代表连通块连通即可。

那么就会有 \(A\le B< \frac{n}{2}\)

考虑树的情况,我们以重心为根, 将一整颗 \(sz\ge A\) 的子树划给它,然后其余划给 \(B\),删叶子即可完成构造。

也就是找到一条边,满足断开后两个 \(sz\) 较小的 \(\ge A\),较大的 \(\ge B\),一个合理的构造是重心为根的最大儿子。

现在变成了一般图,考虑推广到 dfs 树上。

取 dfs 树重心,如果符合树的情况可以直接构造,否则考虑 \(dfs\) 树上过重心的返祖边,它们本质上是把各个子树连接在一起,在即使删掉重心之后,考虑删掉重心,构造出 \(A\) 所需点集,然后将剩下的给到 \(B\)

将重心的各个儿子(包括根方向)看作一个点,根据返祖边判断连通性,由于只会与子树外相连,所以这个连通块唯一,我们逐个扫描这个连通块的点并累加 \(siz\),如果加满了都不足 \(A\) 说明必然无解啊,否则在第一次加满时立刻退出,设当前加了 \(s\),那么 \(s\le 2A\),因此 \(n-s\ge 2B\)

那么剩下的也可以构造了。

C

一个自然的想法是建立圆方树,根据双极定向的结论,我们相当于是要选出一条方点链,然后需要在之后把这些方点链当一个点处理(也就是说,根据双极定向的要求,各个方点下面接的必须是一个“点”,而在目前是一个连通块,需要将一个连通块看作一个点)

那么就是删掉方点,然后将剩下的连通块缩成一个点,接着建立缩点后的原始图,此时原始图是可双极定向的,做双极定向划分各个点集的顺序。


那么现在我们的问题就是变成了如何找到最优的链。

考虑 \(dp\),设 \(f_u\) 为圆方树 \(u\) 子树,\(u\) 在链上时的最小 \(\max |V|\)

转移和计算其作为路径 lca 的贡献?

先来看转移,我们枚举链下面那个点 \(v\) 有:

  1. \(f_u=\min_v\max(f_v,\max_{v_0\in Son(u),v_0\neq v}sz_{v_0})\),当 \(u\) 是方点
  2. \(f_u=\min_v\max(f_{v},\sum_{v_0\in Son(u),v_0\neq v}sz_{v_0}+1)\)\(u\) 是圆点

注意到 \(\forall x,f_x\le sz_x\),所以在情况 \(1.\) \(v\) 必然是重儿子,在情况 \(2.\) 其实同样是这样的(如果 \(v\) 不是重儿子,那么一定是 \(\sum\) 取较大值,与让 \(v\) 成为重儿子相比一定不优)

再来看计算答案:

  1. \(res=\min_{v_0,v_1}(\max\lbrace f_{v_1},f_{v_0},n-sz_u,\max_{v\neq v_0,v_1,v\in Son(u)}sz_v\rbrace)\),当 \(u\) 是方点
  2. \(res=\min_{v_0,v_1}(\max\lbrace f_{v_0},f_{v_1},n-sz_u+\sum_{v\neq v_0,v_1,v\in Son(u)}sz_v\rbrace)\),当 \(u\) 是圆点。

同样地,是否有 DP 计算类似的,必然取重儿子和次重儿子?

事实上确实是这样的,方点时易证,圆点时,同样地,如果 \(v_0,v_1\) 取不到重儿子,那么一定是取后面的 $\sum $,这一定大于将其一替换为重儿子后的权值(因为加上了重儿子 \(sz\) ),类似地,取了重儿子不取次重儿子也可以类似描述。


由这个 dp,我们还知道了决策点一定是重儿子和次重儿子,因此便可以直接提取出方点链,并双极定向求解了。

D

边三连通分量板子,略去。

E

与 A 是同质化问题,这里省略。

F

涉及混合图结论

混合图 \(G\) 能被定向为强连通图当且仅当满足:

  1. 所有边看作无向边后边双连通
  2. 将无向边看作两条有向边后强连通

某一条无向边一定存在一种定向让其定向后仍然满足这两个性质,所以可以直接枚举判断。

\(O(n^2)\)

G

双极定向的练习题

考虑到,我们所选的点有什么特征?先建立圆方树。

首先判掉 \(n=1\) 以及原图点双连通的情况,这时候直接取最小值作为端点跑双极定向即可。

由于原题存在类似于双极定向的要求(后缀),因此有唯一最终点,我们将其反着看可以推出如下信息:作为起始点,需要这个点双内部仅有一个割点,并且对于所有这样的点双,有一个作为最终到达的点,其余全部需要当作起始点。

因此我们贪心地,求出每个这样的起始点双里的非割点最小点权,并舍弃最大的那一个,让它作为终点。

这样就得到了选择初始点的方案,然后考虑怎么得到答案呢?可以通过双极定向的方法,从终点开始往回走,对每个走到的点双做双极定向,然后就类似于 St->Ed 这类。

也就是最开始确定终点,终点往其所在点双的割点做双极定向,然后现在就已经走出去了,对于一个走入的割点,同样地往其所在的所有未走过的点双重复找新的割点做双极定向。

需要注意的是其他割点怎么办呢?其实是容易的,这是一个类似于递归的过程,按照双极定向走出的顺序访问这个点双内的其他割点,并递归处理即可。

回溯时就可以输出方案了。

posted @ 2024-12-27 21:55  spdarkle  阅读(45)  评论(0)    收藏  举报