题解:AT_arc114_c [ARC114C] Sequence Scores
违规用户名1425622 · · 题解
1. 前言
你谷新人第二篇题解qwq。
2. 做法
根据其他题解可得 (其实是因为我懒得再打一遍了),答案显然,推一下柿子得:
直接做就可以
设
那么我们就得到了
扔个代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
#define mod 998244353
int n,m;
int qmi(int a,int b=mod-2)
{
int ans=1;
while(b){
if(b&1)ans=(LL)ans*a%mod;
a=(LL)a*a%mod,b>>=1;
}return ans;
}
int main()
{
int i,ans=0;
cin>>n>>m;
if(n==1)return cout<<m,0;
int t=qmi(m);
for(i=0;i<m;i++){
int x=(LL)i*t%mod,s=qmi(x+mod-1);
ans=(ans+(LL)s*((LL)(qmi(x,n)+mod-x)*s%mod+mod-n+1))%mod;
}
ans=((LL)m*m%mod*n+mod-ans)%mod;
cout<<(LL)ans*qmi(m,n-2)%mod;
}
可不可以做到
我们发现要在
然后就不出意外的抢了 Atcoder 的最优解。