求助,玄关
查看原帖
求助,玄关
945477
NOT__DeFined楼主2024/7/14 23:27

样例全过,但wa on 6

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+10; 
const int mod=998244353;
int dp[N][10];
int n,m;
int qsm(int a,int b)
{
	int res=1;
	for(;b;b>>=1)
	{
		if(b&1)	res=res*a%mod;
		a=a*a%mod;
	}
	return res%mod;
}

int ni(int i)
{
	return qsm(i,mod-2);
}

signed main()
{
	cin>>n>>m;
	int f2=2*ni(n*n)%mod;
	int f1=(n-n*(n-1)*f2+mod)*ni(n)%mod;
	dp[1][1]=f1,dp[1][2]=f2;
//	cout<<f1<<" "<<f2<<endl;
//	int ans=0;
	for(int i=2;i<=m;i++)
	{
		dp[i][2]=(dp[i-1][1]%mod*f2+dp[i-1][2]*f1%mod+dp[i-1][2]*f2*(n-2))%mod;
		dp[i][1]=((n-n*(n-1)*dp[i][2]+2*mod)*ni(n))%mod;
	//	ans+=(dp[i][1]+dp[i][2]*(2+n)*(n-1)/2)%mod;
	}
	//cout<<ans<<endl;
	cout<<(dp[m][1]+dp[m][2]*(2+n)*(n-1)/2)%mod<<endl;
	return 0;
}
2024/7/14 23:27
加载中...