2020牛客暑期多校训练营(第一场)J——Easy Integration

2020牛客暑期多校训练营(第一场)J——Easy Integration_第1张图片

2020牛客暑期多校训练营(第一场)J——Easy Integration_第2张图片

题意:
在这里插入图片描述

两种办法:找规律或直接推导

  1. 找规律:
    2020牛客暑期多校训练营(第一场)J——Easy Integration_第3张图片

  2. 推导
    2020牛客暑期多校训练营(第一场)J——Easy Integration_第4张图片

代码

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef unsigned long long ull;
const long double PI = acos(-1);
const int maxn=1e5+5;
const int mod=998244353;
const int N = 2e6+10;
	
ll qpow(ll a,ll b)
{
	ll ans=1;
	while(b)
	{
		if(b&1) ans=ans*a%mod;
		a=a*a%mod;
		b>>=1;
	}
	return ans%mod;
}

ll inv(ll a)
{ return (qpow(a, mod-2)+mod)%mod; }

ll f[N+10];
void init()
{
	f[0]=1;
	for(int i=1;i<N;i++)
		f[i]=i*f[i-1]%mod;
}

int main()
{
	int n;
	init();	
	while(scanf("%d",&n)!=EOF)
	{
		ll tmp=1;
		ll ans=(f[n]*f[n]%mod*inv(f[2*n+1])+mod)%mod;
		printf("%lld\n",ans);
	}
}

你可能感兴趣的:(牛客2020多校联赛)