51nod – 1627 瞬间移动(组合数学)

/.51nod.com/Challenge/Problem.html#problemId=1627
有一个无限大的矩形,初始时你在左上角(即第一行第一列),每次你都可以选择一个右下方格子,并瞬移过去(如从下图中的红色格子能直接瞬移到蓝色格子),求到第n行第m列的格子有几种方案,答案对1000000007取模。

每次每行每列都至少加1,至多走到终点的行列,所以行列可以单独分开看,行从1走到n,列从1走到m,枚举行列在中间停留的次数,假设n < m,最终答案就是 ∑ i = 0 n − 2 C n − 2 i ∗ C m − 2 i \sum_{i=0}^{n-2}C_{n-2}^{i} * C_{m-2}^{i} i=0n2Cn2iCm2i 根据范德蒙德卷积: ∑ i = 0 n C n i ∗ C m i = C n + m n \sum_{i=0}^{n}C_{n}^{i} * C_{m}^{i} = C_{n + m}^{n} i=0nCniCmi=Cn+mn 可得最终结果为 C n + m − 4 n − 2 C_{n + m - 4}^{n - 2} Cn+m4n2

你可能感兴趣的:(组合数学)