题意:Takuru 是一名能力者,他在地震时获得了念力致动的能力。所以他经常用自己的能力去干一些奇奇怪怪的事情。有一天他获得了一张
很简单的一道题。
对于每一个大小为
答案就是 long long,也不要取模过多而时间超限。
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
long long n,x,y,mod=998244353,ans;
long long fac[101010],inv[101010];
long long power(long long a,long long b,long long p)
{
long long ans=1%p;
for(;b;b>>=1)
{
if(b&1)
ans=ans*a%p;
a=a*a%p;
}
return ans%p;
}
int main()
{
scanf("%lld%lld%lld",&n,&x,&y);
fac[0]=1;
inv[0]=1;
for(int i=1;i<=n;i++)
{
fac[i]=fac[i-1]*i%mod;
inv[i]=power(fac[i],mod-2,mod);
}
long long p=x*power(y,mod-2,mod)%mod;
for(int i=0;i<=n;i++)
{
long long t=fac[n]*inv[i]%mod*inv[n-i]%mod;
t=t*power(p,1ll*(i-1)*i/2,mod)%mod;
ans+=t;
}
printf("%lld",ans%mod);
return 0;
}