SSY20241002提高组T4题解__纯数论
题面
题目描述
有一天
p
e
o
p
1
e
peop1e
peop1e 学长梦到了一个丑陋的式子:
∑
i
=
1
n
(
∑
m
=
1
R
F
m
)
!
×
i
!
×
∑
l
=
0
i
∑
j
=
0
∑
t
=
1
R
F
t
{
K
i
−
l
}
l
!
{
i
∑
w
=
1
R
F
w
−
j
}
j
!
=
\sum_{i=1}^n (\sum_{m=1}^R F_m)!\times i!\times \sum_{l=0}^i \sum_{j=0}^{\sum_{t=1}^R F_t}\frac{{K}\brace{i-l}}{l!}\frac{{i}\brace{\sum_{w=1}^R F_w-j}}{j!}=
i=1∑n(m=1∑RFm)!×i!×l=0∑ij=0∑∑t=1RFtl!{i−lK}j!{∑w=1RFw−ji}=
其中
F
i
F_i
Fi 表示斐波那契数列的第
i
i
i项,
F
0
=
0
,
F
1
=
1
,
F
2
=
1
F_0 = 0, F_1 = 1, F_2 = 1
F0=0,F1=1,F2=1,
{
n
m
}
{n}\brace{m}
{mn}表示第二类斯特林数, 其值为将
n
n
n 个不同元素放入
m
m
m 个集合的方案数。
他想了很久都没有想出来, 于是拿来请教你。如果你做出来了, 他会请你吃饭。
答案对
1
0
9
+
7
10^9 + 7
109+7 取模。
输入输出格式
输入
一行三个正整数 n , R , K n, R, K n,R,K
输出
一个正整数, 表示答案。
输出输出扬样例
输入1
4 5 2
3 5 2
输出1
347916
输入2
94082 698 850
输出2
93954859
数据范围
对于10% 的数据, n , R , K ≤ 5 n, R, K ≤ 5 n,R,K≤5
对于30% 的数据, n , R ≤ 1 0 5 , K ≤ 200 n, R ≤ 10^5, K ≤ 200 n,R≤105,K≤200
对于另10% 的数据, n ≤ 1 0 18 , K ≤ 200 , R ≤ 1 0 5 n ≤ 10^{18}, K ≤ 200, R ≤ 10^5 n≤1018,K≤200,R≤105
对于另10% 的数据, n ≤ 1 0 18 , K ≤ 200 , R ≤ 1 0 18 n ≤ 10^{18}, K ≤ 200, R ≤ 10^{18} n≤1018,K≤200,R≤1018
对于另10% 的数据, n ≤ 1 0 18 , K ≤ 200 , R = 1 n ≤ 10^{18}, K ≤ 200, R = 1 n≤1018,K≤200,R=1
对于70% 的数据, n ≤ 1 0 18 , K ≤ 2000 , R ≤ 1 0 18 n ≤ 10^{18}, K ≤ 2000, R ≤ 10^{18} n≤1018,K≤2000,R≤1018
对于100% 的数据, n ≤ 1 0 18 , K ≤ 200000 , R ≤ 1 0 18 n ≤ 10^{18}, K ≤ 200000, R ≤ 10^{18} n≤1018,K≤200000,R≤1018
题解
解析
前置知识
-
∑ i = 1 n F i = F n + 2 − 1 \sum_{i=1}^nF_i=F_{n+2}-1 i=1∑nFi=Fn+2−1证明:数学归纳法
当 n = 1 n=1 n=1 时显然成立
假设 n = m n=m n=m 时此式子成立
∑ i = 1 m + 1 F i = ∑ i = 1 m F i + F m + 1 = F m + 2 + F m + 1 − 1 = F m + 3 − 1 \begin{aligned} &\sum_{i=1}^{m+1}F_i \\ =&\sum_{i=1}^mF_i+F_{m+1} \\ =&F_{m+2}+F_{m+1}-1 \\ =&F_{m+3}-1 \end{aligned} ===i=1∑m+1Fii=1∑mFi+Fm+1Fm+2+Fm+1−1Fm+3−1 -
m n = ∑ i = 1 m C m i × { n i } × i m^n=\sum_{i=1}^mC_m^{\;i}\times{{n}\brace{i}}\times i\! mn=i=1∑mCmi×{in}×i
根据小球与盒子相关例题可以轻松理解 -
拉格朗日插值
不会只会30分
现在开始正式推导~~(请耐心观看)~~
令
L
=
∑
m
=
1
R
F
m
L=\sum^R_{m=1}F_m
L=∑m=1RFm ,原式变为
∑
i
=
1
n
L
!
×
i
!
×
∑
l
=
0
i
∑
j
=
0
L
(
{
K
i
−
l
}
l
!
×
{
i
L
−
j
}
j
!
)
=
∑
i
=
1
n
L
!
×
i
!
×
(
∑
l
=
0
i
{
K
i
−
l
}
l
!
)
×
(
∑
j
=
0
L
{
i
L
−
j
}
j
!
)
=
∑
i
=
1
n
(
∑
l
=
0
i
{
K
i
−
l
}
l
!
×
i
!
)
×
(
∑
j
=
0
L
{
i
L
−
j
}
j
!
×
L
!
)
=
∑
i
=
1
n
(
∑
l
=
0
i
i
!
l
!
×
{
K
i
−
l
}
)
×
(
∑
j
=
0
L
L
!
j
!
×
{
i
L
−
j
}
)
\begin{aligned} &\sum_{i=1}^n L!\times i!\times \sum_{l=0}^i \sum_{j=0}^L\bigg(\frac{{K}\brace{i-l}}{l!}\times \frac{{i}\brace{L-j}}{j!}\bigg) \\ =&\sum_{i=1}^n L!\times i!\times\bigg(\sum_{l=0}^i\frac{{K}\brace{i-l}}{l!}\bigg)\times\bigg(\sum_{j=0}^L\frac{{i}\brace{L-j}}{j!}\bigg) \\ =&\sum_{i=1}^n\bigg(\sum_{l=0}^i\frac{{K}\brace{i-l}}{l!}\times i!\bigg)\times\bigg(\sum_{j=0}^L\frac{{i}\brace{L-j}}{j!}\times L!\bigg) \\ =&\sum_{i=1}^n\bigg(\sum_{l=0}^i\frac{i!}{l!}\times {{K}\brace{i-l}}\bigg) \times\bigg(\sum_{j=0}^L\frac{L!}{j!}\times {{i}\brace{L-j}}\bigg) \end{aligned}
===i=1∑nL!×i!×l=0∑ij=0∑L(l!{i−lK}×j!{L−ji})i=1∑nL!×i!×(l=0∑il!{i−lK})×(j=0∑Lj!{L−ji})i=1∑n(l=0∑il!{i−lK}×i!)×(j=0∑Lj!{L−ji}×L!)i=1∑n(l=0∑il!i!×{i−lK})×(j=0∑Lj!L!×{L−ji})我们假设
l
,
j
l,j
l,j 是倒着枚举的, 推为:
(也可以认为在枚举
l
l
l 的时候也会枚举到
i
−
l
i-l
i−l 的所有之)
=
∑
i
=
1
n
(
∑
l
=
0
i
i
!
(
i
−
l
)
!
×
{
K
l
}
)
×
(
∑
j
=
0
L
L
!
(
L
−
j
)
!
×
{
i
j
}
)
=
∑
i
=
1
n
(
∑
l
=
0
i
i
!
(
i
−
l
)
!
×
l
!
×
{
K
l
}
×
l
!
)
×
(
∑
j
=
0
L
L
!
(
L
−
j
)
!
×
j
!
×
{
i
j
}
×
j
!
)
=
∑
i
=
1
n
(
∑
l
=
0
i
C
i
l
×
{
K
l
}
×
l
!
)
×
(
∑
j
=
0
L
C
L
j
×
{
i
j
}
×
j
!
)
=
∑
i
=
1
n
i
k
L
i
\begin{aligned} =&\sum_{i=1}^n\bigg(\sum_{l=0}^i\frac{i!}{(i-l)!}\times {{K}\brace{l}}\bigg) \times\bigg(\sum_{j=0}^L\frac{L!}{(L-j)!}\times {{i}\brace{j}}\bigg) \\ =&\sum_{i=1}^n\bigg(\sum_{l=0}^i\frac{i!}{(i-l)!\times l!}\times {{K}\brace{l}}\times l!\bigg) \times\bigg(\sum_{j=0}^L\frac{L!}{(L-j)!\times j!}\times {{i}\brace{j}}\times j!\bigg) \\ =&\sum_{i=1}^n\bigg(\sum_{l=0}^iC^l_i\times {{K}\brace{l}}\times l!\bigg) \times\bigg(\sum_{j=0}^LC^j_L\times {{i}\brace{j}}\times j!\bigg) \\ =&\sum_{i=1}^ni^kL^i \end{aligned}
====i=1∑n(l=0∑i(i−l)!i!×{lK})×(j=0∑L(L−j)!L!×{ji})i=1∑n(l=0∑i(i−l)!×l!i!×{lK}×l!)×(j=0∑L(L−j)!×j!L!×{ji}×j!)i=1∑n(l=0∑iCil×{lK}×l!)×(j=0∑LCLj×{ji}×j!)i=1∑nikLi
恭喜你 到这里你…
只能拿到30分
接下来是拉格朗日插值
明天补