根据省集原题,显然我们可以把 x 方向与 y 方向的移动拆开。但是我们发现题目里要求我们不能待在原地不动,这个没有任何问题,我们直接容斥有几步是原地不动的就完事了。
令 f(n,m,a,b) 为:从 a 出发,走 m 步到达 b,每步可以从 x 移动到 x-1,x,x+1,要求移动过程中不能超出 [1,n] 的方案数。现在我们需要对于每个 0\leq t\leq T 求出 f(N,t,A,C) 与 f(M,t,B,D),这样移动至多 t 步的方案 f_t 就是这两个乘起来。
现在我们考虑怎么求 f(N,t,A,C)(0\leq t\leq T),同样把原题的根号分治套过来,当 N\leq\sqrt T 直接 \Omicron(NT) 暴力 DP,否则直接 \Omicron\left(\dfrac {T^2}N\right) 对于每个 t 折线容斥。