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的主要内容,如果未能解决你的问题,请参考以下文章

CF1312D Count the Arrays

Codeforces 258D Count Good Substrings

Count The Blocks CodeForces - 1327E oeis

Codeforces 1327 E. Count The Blocks

CodeForces - 1189 E.Count Pairs (数学)

Codeforces 1000C Covered Points Count