12.26 CW 模拟赛 T3. 选择排序
前言
这已经不是普通的 \(\rm{dp}\) 了, 必须要出重拳!
思路
首先这种问题你至少要先模拟
你发现对于 \(i\) 位置, 序列 \([i, n]\) 的前缀最小值都会交换一遍, 把这些位置记为 \(p_0, p_1, p_2, \cdots p_{c_i}\) , 你发现交换之后位置会向右循环移位
容易发现的是, 对于 \(i\) 位的前 \(c_i\) 个前缀最小值, 交换后在下一位 \(i + 1\) 上都会作为前缀最小值出现, 而相对位置不变
容易的你发现, 每次从 \(i + 1 \to i\) 这样倒退, 显然的可以从 \(c_{i + 1} + 1\) 个数中选择 \(c_i\) 个, 那么方案数即为
\[\displaystyle\prod_{i=1}^{n}{c_{i+1} + 1 \choose c_i}
\]
总结
组合数学神秘题目
善于通过模拟找到性质


浙公网安备 33010602011771号