同余问题
10+0+0.
T1暴力就不贴代码了
组合数学
15+0+0.
T1改的时候发现卡特兰数在取模的时候会出问题,润了润了
以下是卡特兰数的15分代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,ans=1,l,f[114514],mod=998244353ll;
string s;char y;
signed main(){
freopen("game.in","r",stdin);
freopen("game.out","w",stdout);
cin>>n>>s;s+="6";
f[0]=1;y=s[0];l=0;
for(int i=1;i<=n;i++) f[i]=(f[i-1]*(4ll*i-2ll)/(i+1ll))%mod;
for(int i=0;i<=n;i++){
if(y!=s[i]){
ans*=f[l];
ans%=mod;
l=0;y=s[i];
}
l++;
}
cout<<ans;
return 0;
}