需要知道概念和求法,有一定的用处
分拆数与互异分拆数
要求:给定一个正整数 \(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}\)。
法二:令 \(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
Ferrers 图
将 \(k\) 个分拆出来的数用横向柱状图表示并单调不增排列,得到 Ferrers 图。

将图像斜向翻折得到一组共轭解,原图中的 \(k\) 即为共轭解中的元素最值。故亦可限定分拆结果的最值为 \(k\),则结果仍为 \(f_{n,k}\)。同时适用于分拆数与互异分拆数。
顺带提一嘴杨表:把点替换成 \(1\sim n\),并使得一个点同时大于左侧和上方的值。
似乎就不是很有用了。计数题可能会考。