qoj7759
令 A(n,x,y) 表示长度为 n 的排列中,有 x 个上升的连续对,且它的逆排列有 y 个上升的连续对的排列数量。
根据组合恒等式,我们有如下关系:
(nuv+n−1)=x=0∑n−1y=0∑n−1A(n,x,y)(nu+x)(nv+y)
我们考虑反解出 A(n,x,y)。
令 x′=n−x,y′=n−y,并代入整数 u=i,v=j (1≤i,j≤n),我们可以构建一个线性方程组。
定义矩阵 L,C,A 如下:
- Lij=(nij+n−1),其中 1≤i,j≤n。
- Cik=(nn+i−k),其中 1≤i,k≤n。
- Ax′y′=A(n,n−x′,n−y′)。
上述恒等式可以表示如下形式:
L=C⋅A⋅CT
我们的目标是求 A,因此有:
A=C−1⋅L⋅(CT)−1=C−1⋅L⋅(C−1)T
矩阵 C 是一个下三角矩阵,其逆矩阵 C−1 有显式的封闭形式:
(C−1)ij=(−1)i−j(i−jn+1)
(当 i<j 时为 0)。