切比雪夫

不知道取什么标题(

假设有一个问题,让你走从 \((0,0)\)\(m\) 步,每步选横坐标或总左边 \(+1\)\(-1\),走到 \((x,y)\) 的方案数。

直接做的话很麻烦:计算 \(+1\) 的步的个数和 \(-1\) 的步的个数是简单的,有 \(m+x+y \over 2\)\(+1¥,\)m-x-y\over 2$ 个 \(-1\)。所以最开始要乘一个 \(\binom{m}{m+x+y\over 2}\)

然后考虑计算哪些 \(+1\),\(-1\) 分配到 \(x,y\) 上,我们枚举多少步在 \(x\) 上操作,那么有范德蒙德卷积:

\[\sum_{i=0}^m \binom{m+x+y\over 2}{i}\binom{m-x-y\over 2}{i-x}=\binom{m}{{m+x+y\over 2} - x} \]

所以最后方案数是 \(\binom{m}{m+x+y\over 2}\binom{m}{{m+x+y\over 2}-x}\)

我们考虑一个更加优美的方法:将点 \((x,y)\) 变为点 \((x+y,x-y)\),这样原本上下左右四个方向走变为了左上左下右上右下四个方向走。这样做的好处在于 \(x\)\(y\) 在每一轮走完之后都会产生 \(1\) 的变化量,它们两维对答案的贡献是独立的,我们直接对每一维算出方案数相乘就行。

很多类似的上下左右走计数的题都可以用这个方法把两维拆成独立的,统计答案会很方便。(由于多校联考版权原因不能放题)

posted @ 2023-02-06 19:27  Smallbasic  阅读(28)  评论(0)    收藏  举报