SSY20241002提高组T4题解__纯数论

发布于:2024-10-09 ⋅ 阅读:(20) ⋅ 点赞:(0)

题面

题目描述

有一天 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=1n(m=1RFm)!×i!×l=0ij=0t=1RFtl!{ilK}j!{w=1RFwji}=

其中 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,K5

对于30% 的数据, n , R ≤ 1 0 5 , K ≤ 200 n, R ≤ 10^5, K ≤ 200 n,R105,K200

对于另10% 的数据, n ≤ 1 0 18 , K ≤ 200 , R ≤ 1 0 5 n ≤ 10^{18}, K ≤ 200, R ≤ 10^5 n1018,K200,R105

对于另10% 的数据, n ≤ 1 0 18 , K ≤ 200 , R ≤ 1 0 18 n ≤ 10^{18}, K ≤ 200, R ≤ 10^{18} n1018,K200,R1018

对于另10% 的数据, n ≤ 1 0 18 , K ≤ 200 , R = 1 n ≤ 10^{18}, K ≤ 200, R = 1 n1018,K200,R=1

对于70% 的数据, n ≤ 1 0 18 , K ≤ 2000 , R ≤ 1 0 18 n ≤ 10^{18}, K ≤ 2000, R ≤ 10^{18} n1018,K2000,R1018

对于100% 的数据, n ≤ 1 0 18 , K ≤ 200000 , R ≤ 1 0 18 n ≤ 10^{18}, K ≤ 200000, R ≤ 10^{18} n1018,K200000,R1018

题解

解析

前置知识

  1. ∑ i = 1 n F i = F n + 2 − 1 \sum_{i=1}^nF_i=F_{n+2}-1 i=1nFi=Fn+21证明:数学归纳法
    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=1m+1Fii=1mFi+Fm+1Fm+2+Fm+11Fm+31

  2. 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=1mCmi×{in}×i
    根据小球与盒子相关例题可以轻松理解

  3. 拉格朗日插值
    不会只会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=1nL!×i!×l=0ij=0L(l!{ilK}×j!{Lji})i=1nL!×i!×(l=0il!{ilK})×(j=0Lj!{Lji})i=1n(l=0il!{ilK}×i!)×(j=0Lj!{Lji}×L!)i=1n(l=0il!i!×{ilK})×(j=0Lj!L!×{Lji})我们假设 l , j l,j l,j 是倒着枚举的, 推为:
(也可以认为在枚举 l l l 的时候也会枚举到 i − l i-l il 的所有之)
= ∑ 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=1n(l=0i(il)!i!×{lK})×(j=0L(Lj)!L!×{ji})i=1n(l=0i(il)!×l!i!×{lK}×l!)×(j=0L(Lj)!×j!L!×{ji}×j!)i=1n(l=0iCil×{lK}×l!)×(j=0LCLj×{ji}×j!)i=1nikLi
恭喜你 到这里你…
只能拿到30分
接下来是拉格朗日插值
明天补