国庆のsurprise

T4

不要问我为什么上来就写T4。奋战半个下午搞出来了。joke3579神来一笔。
首先您得先知道高等数学是个什么东西。如果不知道请右上角。
然后我们相当于要求 \(\sum_{i=0}\binom{i}{k}^2x^i\) 的封闭形式,然后把 \(x=\frac 12\) 代进去就行。手算一下可以发现这玩意是收敛的。
然后考察这玩意怎么求。首先我们知道 \(\Large\binom{i}{k}=\frac {i^{\underline k}}{k!}\) 。然后把下面的常数项 \(k!\) 拿出来,变成

\[\Large\sum_{i=0}(i^{\underline k})^2x^i \]

然后我们知道 \(\Large\sum_{i=0}i^{\underline k}x^i\) 的封闭形式。怎么求?
\(\sum_{i=0}x^i\)\(k\) 阶导,然后发现这个生成函数的 \(x^n\) 次项就是 \(\Large\prod_{i=n}^{n+k-1}i=n^{\overline{k}}\) 。然后把这个东西的每个系数往右平移 \(k\) 就变成了 \(\Large n^{\underline k}\) 。怎么平移?乘个 \(x^k\) 。不理解可以自己手模。
然后我们知道 \(\sum_{i=0}x^i=\frac 1{1-X}\) 。所以我们设这个东西是 \(F(x)\) ,那么我们刚才讨论的就是 \(G(x)=x^kF^{(k)}(x)\) 。随便设了个字母。
于是回到我们的问题,我们要求的带着平方。这个好办,我们现在只需要再乘一个 \(\Large i^{\underline k}\) 就行了。再求 \(k\) 阶导然后乘个 \(x^k\) 就行了。所以我们现在的问题就是:怎么求

\[x^kG^{(k)}(x) \]

幸运的是,我们有(joke3579给出灵感的)莱布尼茨公式:

\[(uv)^{(k)}=\sum_{i=0}^k\binom{k}{i}u^{(i)}v^{(k-i)} \]

然后我们发现 \(G(x)=x^k\times \frac {k!}{(1-x)^{k+1}}\) 。套用上式即可。

/*我以为我T2切了 然后写不出来
我以为T3很水 然后压根没写
现在我以为T4一定有比手算求导更优美且简洁的方法*/
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const int mod=1000000007,x=(mod+1)>>1;
int n,ans,a[2000010],jc[2000010],inv[2000010],p[2000010],invp[2000010];
int qpow(int a,int b){
    int ans=1;
    while(b){
        if(b&1)ans=1ll*ans*a%mod;
        a=1ll*a*a%mod;
        b>>=1;
    }
    return ans;
}
int C(int n,int m){
    return 1ll*jc[n]*inv[m]%mod*inv[n-m]%mod;
}
int f(int x,int k){
    return 1ll*jc[n]*inv[n-k]%mod*qpow(x,n-k)%mod;
}
int g(int x,int k){
    return 1ll*jc[n+k]*inv[n]%mod*qpow(x,n+k+1)%mod;
}
int main(){
    scanf("%d",&n);jc[0]=inv[0]=1;
    if(n==0){
        printf("1\n");return 0;
    }
    for(int i=1;i<=2*n;i++)jc[i]=1ll*jc[i-1]*i%mod;
    inv[2*n]=qpow(jc[2*n],mod-2);
    for(int i=2*n-1;i>=1;i--)inv[i]=1ll*inv[i+1]*(i+1)%mod;
    for(int i=0;i<=n;i++){
        ans=(ans+1ll*C(n,i)*f(x,n-i)%mod*g(2,i)%mod)%mod;
    }
    printf("%lld\n",1ll*ans*qpow(x,n)%mod*inv[n]%mod);
}

高等数学基础还是不扎实。

posted @ 2022-10-01 16:32  gtm1514  阅读(148)  评论(13编辑  收藏  举报