ABC240G Teleporting Takahashi[组合数学]
Posted solemntee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABC240G Teleporting Takahashi[组合数学]相关的知识,希望对你有一定的参考价值。
题意:走
N
N
N步从
(
0
,
0
,
0
)
(0,0,0)
(0,0,0)走到
(
X
,
Y
,
Z
)
(X,Y,Z)
(X,Y,Z)的不同路径条数(每一步不能不走且步长为1)
不失一般性的我们可以设
(
X
,
Y
,
Z
>
0
)
(X,Y,Z>0)
(X,Y,Z>0)
首先考虑走
(
X
+
Y
+
2
k
)
(X+Y+2k)
(X+Y+2k)步从
(
0
,
0
)
(0,0)
(0,0)走到
(
X
,
Y
)
(X,Y)
(X,Y)
枚举
X
X
X正方向的步数
(
X
+
i
)
(X+i)
(X+i),总的走法就是
C
x
+
y
+
2
k
k
∑
i
=
0
k
C
k
i
×
C
x
+
y
+
k
x
+
i
=
C
x
+
y
+
2
k
k
∑
i
=
0
k
C
k
k
−
i
×
C
x
+
y
+
k
x
+
i
=
C
x
+
y
+
2
k
k
×
C
x
+
y
+
2
k
y
+
k
C^k_x+y+2k\\sum _i=0^kC_k^i\\times C_x+y+k^x+i=C^k_x+y+2k\\sum _i=0^kC_k^k-i\\times C_x+y+k^x+i=C^k_x+y+2k \\times C_x+y+2k^y+k
Cx+y+2kki=0∑kCki×Cx+y+kx+i=Cx+y+2kki=0∑kCkk−i×Cx+y+kx+i=Cx+y+2kk×Cx+y+2ky+k
其中
C
x
+
y
+
2
k
k
C^k_x+y+2k
Cx+y+2kk枚举了多走的
k
k
k步的位置,
C
k
i
×
C
x
+
y
+
k
x
+
i
C_k^i\\times C_x+y+k^x+i
Cki×Cx+y+kx+i分别枚举了
X
X
X方向回退的
i
i
i步的位置和
X
X
X方向走的
(
X
+
i
)
(X+i)
(X+i)步位置
其中等式
∑
i
=
0
k
C
k
k
−
i
×
C
x
+
y
+
k
x
+
i
=
C
x
+
y
+
2
k
y
+
k
\\sum _i=0^kC_k^k-i\\times C_x+y+k^x+i=C_x+y+2k^y+k
∑i=0kCkk−i×Cx+y+kx+i=Cx+y+2ky+k是著名的范德蒙恒等式
一般形式为
∑
i
=
0
k
C
m
k
−
i
×
C
n
i
=
C
m
+
n
k
\\sum _i=0^kC_m^k-i\\times C^i_n=C^k_m+n
∑i=0kCmk−i×Cni=Cm+nk
推导过程如下:
考虑在一堆和为 ( m + n ) (m+n) (m+n)数量的物品中选 k k k个的方案数,考虑前 n n n个中选了 i i i个,后 m m m个中选了 ( k − i ) (k-i) (k−i)个的方案,枚举所有 i i i求和就得到了答案。
接下来考虑
Z
Z
Z方向上的情况,剩余未考虑的步数为
N
−
(
X
+
Y
+
2
k
)
N-(X+Y+2k)
N−(X+Y+2k),这些步数中朝
Z
Z
Z负方向的有
(
N
−
(
X
+
Y
+
Z
+
2
k
)
)
/
2
(N-(X+Y+Z+2k))/2
(N−(X+Y+Z+2k))/2步,其余为正方向
则对于某个
k
k
k,方案为
C
x
+
y
+
2
k
k
×
C
x
+
y
+
2
k
y
+
k
×
C
N
N
−
(
x
+
y
+
2
k
)
×
C
N
−
(
X
+
Y
+
2
k
)
(
N
−
(
X
+
Y
+
Z
+
2
k
)
)
/
2
C^k_x+y+2k \\times C_x+y+2k^y+k\\times C^N-(x+y+2k)_N\\times C^(N-(X+Y+Z+2k))/2_N-(X+Y+2k)
Cx+y+2kk×Cx+y+2ky+k×CNN−(x+y+2k)×CN−(X+Y+2k)(N−(X+Y+Z+2k))/2
枚举所有
k
k
k就得到了答案,复杂度
O
(
N
)
O(N)
O(N)
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int mod=998244353;
ll poww(ll a,ll b)
ll t=1;
while(b)
ABC240G Teleporting Takahashi[组合数学]
115.231.35.35快快网络宁波三线240G防御周付现身,小溪QQ177803622
WIN10系统,固态硬盘240G电脑分区分几个区好?另外用Guid分区还是Rbr分区好啊?