1 条题解
-
0
题解
思路推导
由于 非降、 非升,条件 中最强的是 。把两个数组按 的顺序连接,就得到一个长度为 、元素取值在 到 的非降序列。反过来,任意这样的非降序列也唯一对应一对合法数组。
因此问题等价于从 种数中可重复地选择 个。按照可重组合计数,答案为 。
做法
预处理到 的阶乘和逆阶乘,用费马小定理计算阶乘的模逆元,再按组合数公式求值。模数 为质数,并且所需阶乘下标远小于模数。
正确性证明
上述连接操作把任意合法数组对映射为一个长度 的非降序列;条件 保证连接处也非降。逆操作取序列前 项作为 ,后 项逆序作为 ,可恢复全部条件。因此这是双射。
长度为 、从 种值中可重复选择的非降序列数量正是 ,所以算法输出与合法数组对数量相等。
复杂度分析
预处理时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1094
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者