2020 牛客多校第一场 J.Easy Integration

题目链接

题意:

  给出n,求 \(\int_0^1(x-x^2)^ndx\) 取模998244353

题解:

  当时比赛的的时候是用分部积分慢慢算的,赛后才知道是欧拉积分的运用,结果就是求 \(\frac{(n!)^2}{(2n+1)!}\)。

 1 #include <bits/stdc++.h>
 2 
 3 using namespace std;
 4 #define sint(a) scanf("%d",&a)
 5 #define sint2(a,b) scanf("%d %d",&a,&b)
 6 #define sll(a) scanf("%lld",&a)
 7 #define sll2(a,b) scanf("%lld %lld",&a,&b)
 8 #define mem(a,i) memset(a,i,sizeof(a))
 9 #define pb push_back
10 #define ll long long
11 
12 const int maxn=2e6+10;
13 const ll mod=998244353;
14 const double pi=acos(-1);
15 
16 ll qpow(ll a,ll n)
17 {
18     ll b=1;
19     while(n)
20     {
21         if(n&1)
22             b=b*a%mod;
23         a=a*a%mod;
24         n>>=1;
25     }
26     return b;
27 }
28 ll ji[maxn];
29 int main()
30 {
31     ll n;
32     ji[0]=1;
33     for(int i=1;i<maxn;i++)
34         ji[i]=ji[i-1]*i%mod;
35     while(~sll(n))
36     {
37         if(n==1)
38             printf("%lld\n",qpow(6,mod-2));
39         else
40         {
41             ll s=ji[n]*ji[n]%mod;
42             printf("%lld\n",qpow(ji[2*n+1],mod-2)*s%mod);
43         }
44     }
45     return 0;
46 }

 

posted @ 2020-08-09 16:04  一个只会爆零的小菜鸡  阅读(121)  评论(0)    收藏  举报