Examples

2023-1-28 #29.5 鲜花

最近的做题记录比较鸽,随便发了一个之前的听课记录出来。

主要是过年比较摆吧……争取几天后恢复更新。

回顾 P8340 [AHOI2022] 山河重整,发现互异分拆可以得到一个与普通分拆数类似的观察方向。(事实上这只是一个很经典的组合技巧)

image

我们考察互异分拆的 Ferrers 图中一条从右上角起始,下步右步交替的格路,其围出的部分与整数分拆中的 Durfee square 很类似。

去除 \(h\times h\) 的 Durfee square 后,两侧放置的均为 \(\leqslant h\) 的整数分拆,因此我们立即得到:

\[\prod_{k\geqslant 1}\frac{1}{1-x^k}=\sum_{h\geqslant 0}x^{h^2}(\prod_{k=1}^h\frac{1}{1-x^k})^2 \]

同理,去除这样一个结构后,下方剩余的为 \(\leqslant h\) 的整数分拆,那么就能得到:

\[\prod_{k\geqslant 1}(1+x^k)=\sum_{h\geqslant 0}x^{\frac{h(h+1)}2}\prod_{k=1}^h\frac{1}{1-x^k} \]

这些形式很容易让人联想到与分拆数关系紧密的五边形数定理,不过我并不清楚其中是否存在联系!

\[\prod_{k\geqslant 1}(1-x^k)=\sum_{h\geqslant 0}(-1)^hx^{\frac{h(3h\pm 1)}{2}} \]


upd:超立方体的有向链剖分,比我这个做法强多了。

读 gyr 的论文过程中遇到了一个这样的问题:构造 \(n\) 阶 Hypercube 的最小链覆盖。

根据 Dilworth 定理,最小链覆盖的值等于最长反链,而 Sperner 定理告诉我们,最长反链为 popcount 等于 \(\lfloor\frac n2\rfloor\) 的所有点。

通过构造 Hypercube 相邻层之间关于点数较少一侧的完美匹配,我们很容易得到最小链覆盖的方案。

下面说明完美匹配一定存在,并给出一个理论复杂度较优。(事实上很有可能,朴素 Dinic 也能证明在正则二分图上复杂度更优)

假设左部点点数较少,左部有 \(n\) 个点,每个点度数为 \(d_l\);右部 \(m\) 个点,每个点度数为 \(d_r\),那么 \(nd_l=md_r\),因此 \(d_l\geqslant d_r\)

完美匹配的存在性比较好说明,使用 Hall 定理,我们只需证明任意左部点子集 \(S\) 都满足 \(|S|\leqslant|N(S)|\)

连接 \(S\) 的边数量为 \(|S|d_l\),而连接 \(N(S)\) 的边数量为 \(|N(S)|d_r\),前者是后者的子集,因此有 \(|S|d_l\leqslant |N(S)|d_r\),即 \(|S|\leqslant|N(S)|\)

我们尝试通过补点的方式,使其两侧点数相等,每个点度数相等。

我们给左部补上 \(m-n\) 个点度数等于 \(d_l\) 的点,每次加入一个点都选择右部度数最小的 \(d_l\) 个点与其连边,容易发现右部每个点度数最终都会恰好为 \(d_l\)

构造这张新图的完美匹配是一个经典问题,Hall 定理;正则二分图的完美匹配 有较为详细的算法流程。

简要概括一下,我们每次随机选择一个左部未匹配点,随机遍历二分图寻找增广路,复杂度期望下为 \(O(n\log n+m)\)

posted @ 2023-01-28 21:14  xiaoziyao  阅读(151)  评论(1)    收藏  举报