网格图中,有
n
n
n个起点,第
i
i
i个点为
(
0
,
a
i
)
(0,a_i)
(0,ai),保证
a
i
≤
a
i
+
1
a_i\le a_{i+1}
ai≤ai+1,求一种路径方案,使得
i
i
i号点到
(
i
,
0
)
(i,0)
(i,0),且路径没有共用点的方案数,规定从
(
x
,
y
)
(x,y)
(x,y)只能到
(
x
+
1
,
y
)
(x+1,y)
(x+1,y)或
(
x
,
y
−
1
)
(x,y-1)
(x,y−1)。
模998244353,
n
≤
1
e
6
n\le1e6
n≤1e6
Solution
这题是
L
G
V
LGV
LGV的裸题。
首先考虑只有两个点的时候,那么方案数就应该是
A
A
A到
A
′
A'
A′,
B
B
B到
B
′
B'
B′方案数减去
A
A
A到
B
′
B'
B′,
B
B
B到
A
′
A'
A′方案数,因为这样子一定相交。
考虑扩展,那么这个容斥我们不妨考虑
A
,
B
,
C
A,B,C
A,B,C与
A
′
,
B
′
,
C
′
A',B',C'
A′,B′,C′的对应关系,如果交换
A
′
,
B
′
A',B'
A′,B′的对应就会乘上
−
1
-1
−1的容斥系数,同理再交换也会有
−
1
-1
−1的容斥系数,那么考虑最后的对应关系的排列
p
p
p,应该就是
(
−
1
)
p
逆
序
对
个
数
(-1)^{p逆序对个数}
(−1)p逆序对个数。
这个实际上就是一个求行列式的过程。
问题转化为求
A
i
,
j
=
C
a
i
+
j
j
A_{i,j}=C_{a_i+j}^j
Ai,j=Cai+jj的行列式。将它写成下降幂的形式,即为
1
j
!
(
a
i
+
1
)
j
ˉ
\frac{1}{j!}(a_i+1)^{\bar{j}}
j!1(ai+1)jˉ,考虑
(
a
i
+
1
)
j
ˉ
(a_i+1)^{\bar{j}}
(ai+1)jˉ是一个关于
a
i
a_i
ai的
j
j
j次多项式,那么对于同一行
a
i
a_i
ai相同,从左往右可以消元。
具体来说,
∏
k
=
0
j
−
1
(
a
i
+
1
+
k
)
\prod_{k=0}^{j-1}(a_i+1+k)
∏k=0j−1(ai+1+k),直接二项式展开即可得到关于
(
a
i
+
1
)
m
(a_i+1)^m
(ai+1)m的许多项,由于前面得到了
(
a
i
+
1
)
m
(a_i+1)^m
(ai+1)m,减一减就可以得到
A
i
,
j
=
(
a
i
+
1
)
j
A_{i,j}=(a_i+1)^j
Ai,j=(ai+1)j
然后套用范德蒙德行列式即可得到:
后面的NTT优化一下,计算每一个
k
=
(
a
j
+
1
)
−
(
a
i
+
1
)
k=(a_j+1)-(a_i+1)
k=(aj+1)−(ai+1)的出现次数,最后乘上
k
c
n
t
k^{cnt}
kcnt即可。由于单调性这个出现次数是
O
(
n
)
O(n)
O(n)的,所以不需要考虑对
998244352
998244352
998244352取模,直接对
998244353
998244353
998244353取模即可。