设\(f(i,j)\)为\(i\)个数的序列,有\(j\)个前缀最大值的方案数
我们考虑每次添一个最小数,则有:\(f(i,j)=f(i-1,j)+(i-1)*f(i-1,j-1)\),显然这是第一类斯特林数
从而我们得到一个朴素的答案:\[Ans=\sum\limits_{i=1}^{n}f_{i,a-1}×f_{n-1-i,b-1}×C_{n-1}^i\]
理解:枚举\(i+1\)为最大值添的位置,则已经限制了前缀最大值个数及后缀最大值个数,然后再乘上前半部分所填的数
观察\(f_{i,a-1}×f_{n-1-i,b-1}\),发现第一维和唯一:\[Ans=\begin{bmatrix}n-1\\a+b-2\end{bmatrix}C_{a+b-2}^{a-1}\]
原文地址:https://www.cnblogs.com/y2823774827y/p/10706459.html
时间: 2024-11-06 10:41:12