CF938E Max History

Posted Jozky86

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF938E Max History相关的知识,希望对你有一定的参考价值。

CF938E Max History

题意:

我们定义f(a)为:

1、开始时,f(a)=0,M=1。

2、对于每个2<=i<=n,如果a[M]<a[i],那么f(a)=f(a)+a[M],M=i。

现在对于一个给定的数组a,求其所有排列的f(a)之和,答案对1e9+7取模。

题解:

计数问题,组合数推导
经常用的组合恒等式:
k ∗ C n k = n ∗ C n − 1 k − 1 k * C_{n}^{k}=n*C_{n-1}^{k-1} kCnk=nCn1k1
C k n ∗ C m k = C m n ∗ C m − n m − k ( m − k < m − n ) C_{k}^{n}*C_{m}^{k}=C_{m}^{n}*C_{m-n}^{m-k}(m-k<m-n) CknCmk=CmnCmnmk(mk<mn)
∑ i = 0 n C n i = 2 n \\sum_{i=0}^{n}C_{n}^{i}=2^n i=0nCni=2n
∑ k = 0 n ∗ ( − 1 ) k C n k = 0 \\sum_{k=0}^{n}*(-1)^kC_{n}^{k}=0 k=0n(1)kCnk=0
C n k + C n k + 1 = C n + 1 k + 1 C_{n}^{k}+C_{n}^{k+1}=C_{n+1}^{k+1} Cnk+Cnk+1=Cn+1k+1
∑ k = 0 m C n + k k = C n + m + 1 m \\sum_{k=0}^{m}C_{n+k}^{k}=C_{n+m+1}^{m} k=0mCn+kk=Cn+m+1m

代码:

以上是关于CF938E Max History的主要内容,如果未能解决你的问题,请参考以下文章

CF938E Max History [组合数学]

cf 938E

Codeforces 938E Max History:排列 + 逆元考虑单个元素的贡献

CF1486D Max Median

CF1083C Max Mex 线段树

题解 CF997E Good Subsegments