Luogu-P8114 [Cnoi2021]六边形战士

题目链接

题解

方法一

考虑将这个东西看成立方体。相当于在一个 \(a\times b\times c\) 的长方体里堆积,每一层必须堆积在墙角的方案数。
这个东西实际上相当于 \(c\) 个人从 \((a,b)\) 走到 \((0,0)\) ,路径可以重叠但不能穿过,路径总数。
这个问题考虑LGV引理,但是LGV引理处理的是不能交叉的问题。
考虑将从下往上第 \(i\) 条路径向上平移 \(i-1\) 步,向左平移 \(i-1\) 步,那么就变成重叠也不能穿过了。
利用这个列出LGV引理,答案就是:

\[ans=\det(M)\\M=\begin{bmatrix}{a+b\choose a}&{a+b\choose a-1}&\cdots&{a+b\choose a+1-c}\\{a+b\choose a+1}&{a+b\choose a}&\cdots&{a+b\choose a+2-c}\\\vdots&\vdots&\ddots&\vdots\\{a+b\choose a+c-1}&{a+b\choose c-2}&\cdots&{a+b\choose a}\end{bmatrix} \]

剩下的工作很繁琐。尝试将行列式往Krattenthaler’s formula靠拢,可以发现答案就是:

\[\det(M)=\prod_{i=1}^{c-1}(i!)\prod_{i=1}^{c-1}(a+b+i)^{\underline i}\prod_{i=1}^c\frac{(a+b)!}{(a+c-i)!(b+i-1)!} \]

方法二

考虑上视图与这个图的一一对应关系,如果第 \(i\)\(j\) 列上有 \(h_{i,j}\) 个方块,那么必然满足 \(h_{i,j}\le h_{i+1,j}\and h_{i,j}\le h_{i,j+1}\)
这玩意很像半标准杨表,所以我们考虑给 \(h_{i,j}\) 变成 \(h_{i,j}+i-1\) ,就被变成杨表了。
因此做法是容易的,考虑直接套用半标准杨表计数公式:

\[f'_\lambda=\prod_{i,j\in\lambda}\frac{n+j-i}{h_\lambda(i,j)} \]

也可以的到和上一种方法类似的算式,而且更加容易计算。

posted @ 2022-07-09 11:25  YouthRhythm  阅读(81)  评论(0)    收藏  举报