分部积分

Easy Integration

https://ac.nowcoder.com/acm/contest/5666/J

本题就是不断分部积分即可解出。

比赛的时候是用OEIS推的。

编程没有难度,只剩下费马小定理和阶乘打表。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 998244353;
const int N = 1e6 + 5;
ll qkpow(ll a, ll b) {
    ll ans = 1;
    while (b) {
        if (b & 1) ans = ans * a % mod;
        a = a * a % mod;
        b >>= 1;
    }
    return ans;
}
ll getInv(ll a) { return qkpow(a, mod - 2); }  //求一个数的逆元
ll fac[N * 2];
int main() {
    fac[0] = 1;
    for (int i = 1; i < N * 2; ++i) fac[i] = fac[i - 1] * i % mod;
    int n;
    while (cin >> n)
        cout << fac[n] * fac[n] %mod * getInv(fac[2 * n + 1]) % mod << endl;
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 12:05
俺不中了,BOSS遇到了一个hr,我觉得我咨询的问题都很正常吧,然后直接就被拒绝了???
恶龙战士:你问的太多了,要不就整理成一段话直接问他,一个一个问不太好
点赞 评论 收藏
分享
牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务