Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
38837 氩_wjy 【S】T4 C++ 通过 100 598 MS 316 KB 1026 2025-11-06 15:48:39

Tests(20/20):


#include<bits/stdc++.h> #define int long long using namespace std; const int N=3000,mod=998244353; int n,l,r; int Fac[N+7],iFac[N+7]; inline int qpow(int a,int b){ int Ans=1; while(b){ if(b&1)Ans=Ans*a%mod; a=a*a%mod;b>>=1; }return Ans; } inline void Init(){ Fac[0]=Fac[1]=iFac[0]=iFac[1]=1; for(int i=2;i<=N;i++)iFac[i]=iFac[mod%i]*(mod-mod/i)%mod; for(int i=2;i<=N;i++)Fac[i]=Fac[i-1]*i%mod,(iFac[i]*=iFac[i-1])%=mod; } inline int slv(int n,int k){ static int a[N]; for(int i=1;i<=n;i++){ a[i]=qpow(iFac[i],n); for(int j=1;j*k<=i;j++){ (a[i]+=(mod-qpow(iFac[j*k],n)*a[i-j*k]%mod))%=mod; } }int T=(n+k-1)/k-1; return (T&1?(mod-qpow(Fac[n],n)*a[n]%mod):qpow(Fac[n],n)*a[n]%mod)%mod; } signed main(){ #ifndef ONLINE_JUDGE freopen("matrix.in","r",stdin); freopen("matrix.out","w",stdout); #endif cin>>n>>l>>r;Init(); for(int i=l;i<=r;i++)cout<<slv(n,i)<<" "; cout<<endl; }


测评信息: