WA #9求调
查看原帖
WA #9求调
648843
wdl_楼主2022/6/15 21:50

RT

#include<bits/stdc++.h>
#define ll long long
#define mod 998244353
using namespace std;
ll ans1,ans2,n,f[1000005]={1};
ll ksm(ll a,ll b)
{
    ll t=1;
    while(b)
    {
        if(b&1)t=t*a%mod;
        a=a*a%mod;
        b>>=1;
    }
    return t;
}
void jiecheng(ll x)
{
    for(int i=1;i<=x;i++)
        f[i]=f[i-1]*i%mod;
}
int main()
{
    freopen("draw.in","r",stdin);
    freopen("draw.out","w",stdout);
    cin>>n;
    jiecheng(n);
    for(int i=1;i<=n;i++)
    {
        ans1+=f[n]/(f[i]*f[n-i])*((i-1)%2==0?1:-1)*ksm(3,i)*ksm(3,n*(n-i))%mod;
        ll mi = ksm(3,n-i); 
        ans2+=f[n]/(f[i]*f[n-i])*((i)%2==0?1:-1)*(ksm(mi-1,n)-ksm(mi,n));
        //cout<<f[n]/(f[i]*f[n-i])*((i)%2==0?1:-1)*(ksm(-1*(ksm(3,i)-ksm(3,n))+1,n)-1)/ksm(3,i*n)<<endl;
		//cout<<ans1<<' '<<ans2<<endl; 
    }
    ans1=ans1*2%mod;
    ans2=ans2*-3%mod;
    cout<<(ans1+ans2)%mod;
}
2022/6/15 21:50
加载中...