Codeforces 1312D - Count the Arrays

Description

要你求每个元素都在 [ 1 , m ] [1,m] [1,m],存在一个位置左边严格递增,右边严格递减,且恰好存在一对相等元素的 n n n个元素的数组的数量 ( 1 ≤ n ≤ m ≤ 2 ∗ 1 0 5 ) (1 \leq n \leq m \leq 2 * 10^5) (1nm2105)

Solution

枚举数组中的最大值 m a x max max,有 m a x ≥ n − 1 max \geq n - 1 maxn1
当数组中最大值左边有a个位置时,方案数为 C m a x − 1 n − 2 ∗ ( n − 2 ) ∗ C n − 3 a − 1 C_{max-1}^{n-2} *(n-2)*C_{n-3}^{a-1} Cmax1n2(n2)Cn3a1
最大值不可能在最左边或最右边
总方案数为 ∑ m a x = n − 1 m ∑ a = 1 n − 2    C m a x − 1 n − 2 ∗ ( n − 2 ) ∗ C n − 3 a − 1 = ( n − 2 ) ∑ m a x = n − 1 m C m a x − 1 n − 2 ∑ a = 1 n − 2    C n − 3 a − 1 = ( n − 2 ) ∑ m a x = n − 1 m C m a x − 1 n − 2 ∗ 2 n − 3 \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} max=n1ma=1n2  Cmax1n2(n2)Cn3a1=(n2)max=n1mCmax1n2a=1n2  Cn3a1=(n2)max=n1mCmax1n22n3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值