1 条题解
-
0
题解
思路
令 表示长度为 且
fun值为 的排列数。若首元素排名为 ,左右长度分别为 与 ;选出左侧元素集合有 种,总代价再加 。定义生成函数 ,则
$$F_0=1,\quad F_i=x^i\sum_{j=1}^i\binom{i-1}{j-1}F_{j-1}F_{i-j}.$$做法
子任务 1 枚举全部排列并直接递归模拟。子任务 2 用上述式子直接卷积系数。
满分算法注意 。在 个点分别计算 :令 ,二项式系数消去后有
所以单点只需 。再用拉格朗日插值恢复 的全部系数,最后求 的系数和。等距点的分母由阶乘、逆阶乘 得到;公共乘积多项式除以一次因子可用合成除法线性完成。
正确性证明
按首元素排名划分时,左右子排列的相对次序独立,元素集合选择数为对应二项式系数,且当前调用恰贡献 ,故生成函数递推逐项精确计数。除以阶乘只是代数等价变形。 次数不超过 ,因此 个互异点唯一确定它;拉格朗日恢复的各系数正是 ,尾和即题目答案。
复杂度分析
满分算法时间复杂度 ,空间复杂度 。
- 1
信息
- ID
- 1416
- 时间
- 5000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者