2
≤
N
≤
5000
,
2
≤
M
≤
N
2 \le N \le 5000,2 \le M \le N
2≤N≤5000,2≤M≤N
思路
根据整数对
M
M
M的取模值会分成
M
M
M种数,这
M
M
M种数的个数最多只会有两种
⌊
n
m
⌋
\left \lfloor \frac{n}{m}\right \rfloor
⌊mn⌋和
⌊
n
m
⌋
+
1
\left \lfloor \frac{n}{m}\right \rfloor+1
⌊mn⌋+1
直接考虑非常困难,我们先考虑分成有序可为空的
k
k
k组的答案
设第
i
i
i种数的个数为
c
n
t
i
cnt_i
cnti,放置第
i
i
i种数的方案数即为
A
k
c
n
t
i
A_k^{cnt_i}
Akcnti
因此
f
k
=
∏
i
=
0
i
=
M
−
1
A
k
c
n
t
i
f_k=\prod_{i=0}^{i=M-1}A_k^{cnt_i}
fk=∏i=0i=M−1Akcnti
然后考虑有序非空
g
k
=
f
k
−
∑
i
=
0
i
=
k
−
1
C
k
i
∗
f
i
g_k=f_k-\sum_{i=0}^{i=k-1}C_k^i*f_i
gk=fk−∑i=0i=k−1Cki∗fi(把非空组数不到
k
k
k的减掉)
最后在考虑本题,只需要将有序的方案数转换成无序,答案其实就是
g
k
k
!
\frac{g_k}{k!}
k!gk