• HDU 5651 xiaoxin juju needs help


    组合数杨辉三角打表,这样避免了除法求逆元。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<queue>
    #include<algorithm>
    using namespace std;
    
    const long long MOD=1000000007;
    const int maxn=1000+10;
    long long c[maxn][maxn];
    int tot[30];
    char s[maxn];
    
    void init()
    {
        c[1][1]=1;
        for(int i=1;i<=1000;i++) c[i][0]=1;
        for(int i=2;i<=1000;i++)
        {
            for(int j=1;j<=1000;j++)
            {
                c[i][j]=(c[i-1][j-1]+c[i-1][j])%MOD;
            }
        }
    }
    
    int main()
    {
        int T;
        init();
        scanf("%d",&T);
        while(T--)
        {
            scanf("%s",s);
            memset(tot,0,sizeof tot);
            for(int i=0;s[i];i++) tot[s[i]-'a']++;
    
            int num=0;
            for(int i=0;i<26;i++)
                if(tot[i]%2==1) num++;
    
            if(num>1) printf("0
    ");
            else
            {
                int sum=0;
                long long ans=1;
                for(int i=0;i<26;i++) sum=sum+tot[i];
                if(num==1)
                {
                    for(int i=0;i<26;i++) if(tot[i]%2==1) tot[i]--;
                    sum--;
                }
                for(int i=0;i<26;i++)
                {
                    if(tot[i]==0||sum==0) continue;
                    ans=(ans*c[sum/2][tot[i]/2])%MOD;
                    sum=sum-tot[i];
                }
                printf("%lld
    ",ans);
            }
        }
        return 0;
    }
  • 相关阅读:
    non-blocking I/O
    jetty netty
    Azkaban_Oozie_action
    权限过大 ssh协议通过pem文件登陆
    交易准实时预警 kafka topic 主题 异常交易主题 低延迟 event topic alert topic 内存 算法测试
    flink_action
    netty
    1970 ted codd
    Data dictionary
    mina
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5325003.html
Copyright © 2020-2023  润新知