Codeforces 1312D - Count the Arrays
Posted urushibara-ruka
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces 1312D - Count the Arrays相关的知识,希望对你有一定的参考价值。
Description
要你求每个元素都在$[1,m]$,存在一个位置左边严格递增,右边严格递减,且恰好存在一对相等元素的$n$个元素的数组的数量$(1 leq n leq m leq 2 * 10^5)$
Solution
枚举数组中的最大值$max$,有$max geq n - 1$
当数组中最大值左边有a个位置时,方案数为$C_{max-1}^{n-2} *(n-2)*C_{n-3}^{a-1}$
最大值不可能在最左边或最右边
总方案数为$$sum_{max = n - 1}^{m}sum_{a = 1}^{n-2} C_{max-1}^{n-2} *(n-2)*C_{n-3}^{a-1} \ = (n-2) sum_{max = n - 1}^{m}C_{max-1}^{n-2}sum_{a = 1}^{n-2} C_{n-3}^{a-1} \ =(n-2) sum_{max = n - 1}^{m}C_{max-1}^{n-2} * 2^{n-3}$$
以上是关于Codeforces 1312D - Count the Arrays的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces 258D Count Good Substrings
Count The Blocks CodeForces - 1327E oeis
Codeforces 1327 E. Count The Blocks