abc240g

abc240 g

只考虑 0X,Y,Z 的情况,显然小于 0 时的路径可以与大于 0 的一一对应。

考虑我们三个方向的增量分别需要 X,Y,Z,剩下的步数显然是通过走一步该方向又走回来这样子消耗。

m=NXYZ2。如果 NXYZ 是奇数或者 N<X+Y+Z 就无解。

枚举三个方向分别多走了几步。

假设我们在 X 方向多走了 i 步,那么需要用 i 步再走回来。

i=0mj=0mi(NX+i)(NXii)(NX2×iY+j)(Nx2×iYjj)(Nx2iY2jZ+mij)(NxiYjZmmij)

发现这是个多重集组合数,可以给它变成

i=0mj=0miN!(x+i)!i!(Y+j)!j!(Z+mij)!(mij)!

把与 j 无关的提出来

i=0mN!(x+i)!i!j=0mi1(Y+j)!j!(Z+mij)!(mij)!

希望后面那一坨带 j 的式子优美一点,发现 Y+j+mij=Y+mi,Z+mij+j=Z+mi,给他重新凑一下组合系数

i=0mN!(x+i)!i!(Y+mi)!(Z+mi)!j=0mi(Y+mi)!(Y+j)!(mij)!(Z+mi)!(Z+mij)!j!

=i=0mN!(x+i)!i!(Y+mi)!(Z+mi)!j=0mi(Y+miY+j)(Z+miZ+mij)

对后面那个式子使用范德蒙德卷积

i=0mN!(x+i)!i!(Y+mi)!(Z+mi)!(Y+Z+2×m2×iY+Z+mi)

时间复杂度 O(N)

posted @   Svemit  阅读(19)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示
主题色彩