zoukankan      html  css  js  c++  java
  • 一道装呀(状压)DP

    generator

    题目描述:

    150838016912062986.png

      自己的数学太差了,居然没看出来这两个是相同的;

      啊啊啊;

      所以装呀一下就好了;

    #include<iostream>
    #include<cstdio>
    typedef long long LL;
    const LL maxsz=(1<<16)+5,maxn=21,kcz=1000000000+7,zss=1000000000+5;
    LL a[maxn],f[maxsz],sum[maxsz],i,j,k,t,m,n,p,ans,num,x,y,ce;
    LL ksm(LL ds,LL zs)
    {
        LL temp = ds,res = 1;
        while (zs)
        {
            if (zs & 1) res = res * temp % kcz;
            temp = temp * temp % kcz;
            zs >>= 1;
        }
        return res;
    }
    LL chu(LL p,LL q)
    {
        return p * ksm(q , zss) % kcz;
    }
    int main()
    {
        scanf("%lld%lld",&n,&k);
        if (k==n) 
        {
            printf("1");
            return 0;
        }
        for(i=0;i<n;i++)
            scanf("%lld",&a[i]);
        f[0] = 1;
        sum[0] = 1000;
        for(i=1;i<(1<<n);i++)
        {
            num = 0;
            for(j=0;j<n;j++)
            if((1 << j) & i)
            {
                num++;
                ce=i - (1 << j);
                sum[i] = sum[ce] - a[j];
                if (!(ce & 1)) 
                    f[i] = (f[i] + f[ce] * chu(a[j] , sum[ce]) % kcz) % kcz;
            }
            if ((i & 1) && (num <= k)) ans = (ans + f[i]) % kcz;
        }
        printf("%lld",ans);
    }
  • 相关阅读:
    Linux命令之_Cut(转)
    Use “error_messages” in Rails 3.2? (raises “undefined method” error)
    ruby错误
    Linux SvN操作
    Linux 安装SVN服务器 (转)
    删除 vim 命令
    vscode 配置java开发
    java json
    svn
    采样率和比特率
  • 原文地址:https://www.cnblogs.com/kczno1fans/p/7695270.html
Copyright © 2011-2022 走看看