题意
定义序列中的一个数为前缀最大值仅当其前面没有比他大的数,后缀最大值同理。问有多少个长度为n的排列满足前缀最大值数量恰好为a,后缀最大值数量恰好为b。
n,a,b≤105 n , a , b ≤ 10 5
分析
首先分析一下性质,排列中的最大值,也就是n必然是一个前缀最大值和后缀最大值,且前缀最大值一定在n的前面,后缀最大值一定在n的后面。
设 s(i,j) s ( i , j ) 表示有多少个大小为 i i 的排列满足前缀最大值数量恰好为
。枚举最小的数放哪里,不难得到
s(i,j)=s(i−1,j−1)+(i−1)s(i−1,j) s ( i , j ) = s ( i − 1 , j − 1 ) + ( i − 1 ) s ( i