• 2020牛客暑期多校训练营 分部积分 [Easy Integration]


    2020牛客暑期多校训练营 分部积分 Easy Integration

    题目大意:

    给你一个积分函数,让你计算

    题解:

    这个题目真的让我非常惊讶,一开始想到了要分部积分求这个定积分然后求解,但是想想如果这样不就是一个数学题目了吗?于是就没有写,最后发现还真是一个数学题目,晕。

    这个题目用分部积分的公式很好写。

    [int uv' dx = uv + int vu' dx ]

    按照上面的公式,你会发现因为上下限是01,所以前面的 (uv=0) ,然后后面的就是一个的指数在上升一个的指数在下降,所以按照这样下去,就可以把一个x的指数一直往下降,降到1,就可以进行积分求解了。

    最后求解出来的公式就是 (frac{n!}{(2n+n)!})

    这个就可以预处理一下,然后直接得出答案。

    #include <bits/stdc++.h>
    using namespace std;
    const int maxn = 2e6+10;
    const int mod = 998244353;
    typedef long long ll;
    ll f[maxn];
    
    void init(){
        f[0]=1;
        for(int i=1;i<maxn;i++) f[i]=f[i-1]*i%mod;
    }
    
    long long inv(long long x,long long mod)
    {
        long long k=mod-2,ans=1;
        while(k)
        {
            if (k&1) ans=ans*x%mod;
            x=x*x%mod;
            k>>=1;
        }
        return ans;
    }
    
    int main(){
        int n;
        init();
        while(scanf("%d",&n)!=EOF){
            ll x = f[n]*f[n]%mod;
            ll y = inv(f[2*n+1],mod)%mod;
            printf("%lld
    ",x*y%mod);
        }
    
    }
    
  • 相关阅读:
    bootstrap 兼容 IE8
    在IE8的基础上安装IE11
    前台
    dll 库文件下载地址
    年轻
    linux 异常
    Navicat断网时连不上数据库
    jQuery
    破解版 Teamver 安装
    mysql
  • 原文地址:https://www.cnblogs.com/EchoZQN/p/13289732.html
Copyright © 2020-2023  润新知