多校day1-可怕

来源:互联网 发布:mysql添加字段 编辑:程序博客网 时间:2024/05/22 11:58

有几种字符串就有几种奇幻排列
组合数+逆元

#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#define ll long longusing namespace std;const ll mod=998244353; //质数 int n,m;int c[100005];ll x,y,ans,p[1000005];ll niyuan(ll x,ll y){    ll q=1;    while(y>0)     {        if(y%2==1) q=(q*x)%mod;         y=y/2;        x=(x*x)%mod;    }    return q;}   int main(){    freopen("horrible.in","r",stdin);    freopen("horrible.out","w",stdout);     cin>>m;    for(int i=1;i<=m;i++)     {        scanf("%d",&c[i]);        n=n+c[i];    }    p[0]=1;    for(int i=1;i<=n;i++) p[i]=(p[i-1]*i)%mod;    x=n;    ans=1;    for(int i=1;i<=m;i++)     {        ll y=(p[c[i]]*p[x-c[i]])%mod;        ll z=(p[x]*niyuan(y,mod-2))%mod;        ans=(ans*z)%mod;        x=x-c[i];    }    cout<<ans;    fclose(stdin);    fclose(stdout);    return 0;}
0 1
原创粉丝点击