首页 > 其他分享 >AGC240G

AGC240G

时间:2024-01-18 14:13:30浏览次数:33  
标签:AGC240G cnt frac sum choose aligned 2i

ABC240G Teleporting Takahashi

组合意义天地灭,代数推导保平安。
根据对称性,从 \((0,0,0)\) 走到 \((x,y,z)\) 的方案数等于走到 \((|x|,|y|,|z|)\) 的方案数,下文假设 \(x,y,z>0\)。
最小步数显然是 \(x+y+z\),每一步都是将某一维加 1,如果我们在某一维添上一个减 1 的操作,为了让这一维达到最终目标,应添加一个加 1 的操作,因此增加的步数一定是 2 的倍数,这就是判无解的条件。
由于每多一个减 1 就一定多一个加 1,因此我们可以通过总步数算出一共走了多少次 -1,记为 \(cnt=\frac{n-(x+y+z)}{2}\)。
于是我们枚举第一维用了多少次 -1,以及第 2 维用了多少 -1,可以得到如下长相十分恐怖的式子:

\[\begin{aligned} ans=\sum_{i=0}^{cnt}{{n}\choose{x+i}}{{n-(x+i)}\choose{i}}\sum_{j=0}^{cnt-i}{{n-(x+2i)}\choose{y+j}}{{n-(x+2i)-(y+j)}\choose{j}} {{n-(x+2i)-(y+2j)}\choose{z+cnt-i-j}} \end{aligned} \]

尝试化简后面那坨式子,暴力拆开组合数:

\[\begin{aligned} W &=\sum_{j=0}^{cnt-i}{{n-(x+2i)}\choose{y+j}}{{n-(x-2i)-(y+j)}\choose{j}}{{n-(x-2i)-(y+2j)}\choose{z+cnt-i-j}}\\ &=\sum_{j=0}^{cnt-i}\frac{(n-(x+2i))!}{(y+j)!j!(z+cnt-i-j)!(cnt-i-j)!}\\ &=(n-(x+2i))!\sum_{j=0}^{cnt-i}\frac{1}{(y+j)!j!(z+cnt-i-j)!(cnt-i-j)!}\\ \end{aligned} \]

把后面凑成新的二项式系数:

\[\begin{aligned} W&=\frac{(n-(x+2i))!}{(cnt+y-i)!(cnt+z-i)!}\sum_{j=0}^{cnt-i}\frac{(cnt+y-i)!}{(y+j)!(cnt-i-j)!}\frac{(cnt+z-i)!}{j!(z+cnt-i-j)!}\\ &=\frac{(n-(x+2i))!}{(cnt+y-i)!(cnt+z-i)!}\sum_{j=0}^{cnt-i}{{cnt+y-i}\choose{y+j}}{{cnt+z-i}\choose{z+cnt-i-j}}\\ &=\frac{(n-(x+2i))!}{(cnt+y-i)!(cnt+z-i)!}{{2cnt+y+z-2i}\choose{cnt+y+z-i}} \end{aligned} \]

其中最后一步用到了范德蒙德卷积公式。
于是枚举 i 就能做到 \(\mathcal{O}(n)\) 计算。
code

标签:AGC240G,cnt,frac,sum,choose,aligned,2i
From: https://www.cnblogs.com/cooltyl/p/17972374

相关文章