学习笔记:分拆数与 Ferrers 图
2025-08-07
DP

需要知道概念和求法,有一定的用处


分拆数与互异分拆数

要求:给定一个正整数 \(n\),要求将其划分为 \(m\) 个可重 / 不可重的正整数,问本质不同的方案数。(显然 \(m\)\(\sqrt n\) 同阶。)

不妨令划分结果单调不降,则有两种 DP 路径:

  • 法一:令 \(f_{i,j}\) 表示把 \(i\) 分成 \(j\) 个正整数的方案数。

    • 不可重:考虑将这 \(j\) 个数减去 \(1\)。最多一个元素由 \(1\) 变为 \(0\),组数减少 \(1\);其他时候还是 \(j\) 组。故云 \(f_{i,j}=f_{i-j,j-1}+f_{i-j,j}\)
    • 可重:如果存在 \(1\),可以删除之然后转移;否则仍整体减 \(1\) 转移。故曰 \(f_{i,j}=f_{i-1,j-1}+f_{i-j,j}\)
    该转移方法唯一性很显然。注意到第二维只和 \(j,j-1\) 有关;可以交换前后两维顺序然后滚动。
  • 法二:令 \(n=\sum a_i\),建立 \(a\) 的差分数组 \(d\),则有 \(n=\sum\limits_{i=1}^m \sum\limits_{j=1}^i c_j=\sum\limits_{i=1}^m (n-i+1)\times a_i\)。发现 \(a_i\) 每增大 \(1\),答案会增大 \(n-i+1\)。故转化为『第 \(i\) 个物品重量为 \(n-i+1\)』的完全背包。

    • 不可重:要求每个物品至少选一次。
    • 可重:无限制。

    该方法唯一性更显然。

复杂度均为 \(O(nm)\),即 \(O(V\sqrt V)\)

例:Sets of Complementary Sums

link

Ferrers 图

\(k\) 个分拆出来的数用横向柱状图表示并单调不增排列,得到 Ferrers 图。

例:12=5+4+2+1 的 Ferrers 图(图源 OI Wiki)
例:\(12=5+4+2+1\) 的 Ferrers 图(图源 OI Wiki)

将图像斜向翻折得到一组共轭解,原图中的 \(k\) 即为共轭解中的元素最值。故亦可限定分拆结果的最值为 \(k\),则结果仍为 \(f_{n,k}\)。同时适用于分拆数与互异分拆数。

顺带提一嘴杨表:把点替换成 \(1\sim n\),并使得一个点同时大于左侧和上方的值。

似乎就不是很有用了。计数题可能会考。


言论