ABC240G Teleporting Takahashi[组合数学]
題意:走 N N N步從 ( 0 , 0 , 0 ) (0,0,0) (0,0,0)走到 ( X , Y , Z ) (X,Y,Z) (X,Y,Z)的不同路徑條數(shù)(每一步不能不走且步長(zhǎng)為1)
不失一般性的我們可以設(shè) ( X , Y , Z > 0 ) (X,Y,Z>0) (X,Y,Z>0)
首先考慮走 ( X + Y + 2 k ) (X+Y+2k) (X+Y+2k)步從 ( 0 , 0 ) (0,0) (0,0)走到 ( X , Y ) (X,Y) (X,Y)
枚舉 X X X正方向的步數(shù) ( X + i ) (X+i) (X+i),總的走法就是
C x + y + 2 k k ∑ i = 0 k C k i × C x + y + k x + i = C x + y + 2 k k ∑ i = 0 k C k k ? i × C x + y + k x + i = C x + y + 2 k k × C x + y + 2 k y + k C^k_{x+y+2k}\sum _{i=0}^{k}C_k^i\times C_{x+y+k}^{x+i}=C^k_{x+y+2k}\sum _{i=0}^{k}C_k^{k-i}\times C_{x+y+k}^{x+i}=C^k_{x+y+2k} \times C_{x+y+2k}^{y+k} Cx+y+2kk?i=0∑k?Cki?×Cx+y+kx+i?=Cx+y+2kk?i=0∑k?Ckk?i?×Cx+y+kx+i?=Cx+y+2kk?×Cx+y+2ky+k?
其中 C x + y + 2 k k C^k_{x+y+2k} Cx+y+2kk?枚舉了多走的 k k k步的位置, C k i × C x + y + k x + i C_k^i\times C_{x+y+k}^{x+i} Cki?×Cx+y+kx+i?分別枚舉了 X X X方向回退的 i i i步的位置和 X X X方向走的 ( X + i ) (X+i) (X+i)步位置
其中等式 ∑ i = 0 k C k k ? i × C x + y + k x + i = C x + y + 2 k y + k \sum _{i=0}^{k}C_k^{k-i}\times C_{x+y+k}^{x+i}=C_{x+y+2k}^{y+k} ∑i=0k?Ckk?i?×Cx+y+kx+i?=Cx+y+2ky+k?是著名的范德蒙恒等式
一般形式為 ∑ i = 0 k C m k ? i × C n i = C m + n k \sum _{i=0}^{k}C_{m}^{k-i}\times C^i_{n}=C^k_{m+n} ∑i=0k?Cmk?i?×Cni?=Cm+nk?
推導(dǎo)過程如下:
考慮在一堆和為 ( m + n ) (m+n) (m+n)數(shù)量的物品中選 k k k個(gè)的方案數(shù),考慮前 n n n個(gè)中選了 i i i個(gè),后 m m m個(gè)中選了 ( k ? i ) (k-i) (k?i)個(gè)的方案,枚舉所有 i i i求和就得到了答案。
接下來考慮 Z Z Z方向上的情況,剩余未考慮的步數(shù)為 N ? ( X + Y + 2 k ) N-(X+Y+2k) N?(X+Y+2k),這些步數(shù)中朝 Z Z Z負(fù)方向的有 ( N ? ( X + Y + Z + 2 k ) ) / 2 (N-(X+Y+Z+2k))/2 (N?(X+Y+Z+2k))/2步,其余為正方向
則對(duì)于某個(gè) k k k,方案為
C x + y + 2 k k × C x + y + 2 k y + k × C N N ? ( x + y + 2 k ) × C N ? ( X + Y + 2 k ) ( N ? ( X + Y + Z + 2 k ) ) / 2 C^k_{x+y+2k} \times C_{x+y+2k}^{y+k}\times C^{N-(x+y+2k)}_{N}\times C^{(N-(X+Y+Z+2k))/2}_{N-(X+Y+2k)} Cx+y+2kk?×Cx+y+2ky+k?×CNN?(x+y+2k)?×CN?(X+Y+2k)(N?(X+Y+Z+2k))/2?
枚舉所有 k k k就得到了答案,復(fù)雜度 O ( N ) O(N) O(N)
總結(jié)
以上是生活随笔為你收集整理的ABC240G Teleporting Takahashi[组合数学]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VirtualBox虚拟机与主机之间复制
- 下一篇: 计算机操作员评分标准,计算机操作员技能评