zoukankan      html  css  js  c++  java
  • hdu 2079 选课时间(母函数)

    母函数

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #include<vector>
    using namespace std;
    int dp[50];
    struct Clas
    {
        int v,c;
    };
    Clas cla[50];
    int c1[500000];
    int c2[500000];
    int t,n,m;
    int sum;
    void fun()
    {
        int i,j,k;
        memset(c1,0,sizeof(c1));
        memset(c2,0,sizeof(c2));
        c1[0]=1;
        for(i=0;i<n;i++)
        {
            int add=cla[i].v;
            for(j=0;j<=m;j++)
            {
                for(k=0;k<=cla[i].c*add&&k+j<=m;k+=add)
                {
                    c2[j+k]+=c1[j];
                }
            }
            for(j=0;j<=m;j++)
            {
                c1[j]=c2[j];
                c2[j]=0;
            }
        }
    }
    
    int main()
    {
        int i,j,k;
        scanf("%d",&t);
        while(t--)
        {
            //sum=0;
            scanf("%d%d",&m,&n);
            for(i=0;i<n;i++)
            {
                scanf("%d%d",&cla[i].v,&cla[i].c);
                //sum+=cla[i].v*cla[i].c;
            }
            fun();
            printf("%d
    ",c1[m]);
        }
        return 0;
    }
    

    觉得这个多重背包写的很赞

    http://www.cnblogs.com/jiangjing/archive/2013/04/09/3010802.html

  • 相关阅读:
    bzoj2243: [SDOI2011]染色
    bzoj4538: [Hnoi2016]网络
    bzoj 1004
    数论小结2.
    数论小结1.
    Catalan Number
    uva 11645
    uva 01510
    redis cluster介绍
    搭建redis-sentinel(哨兵机制)集群
  • 原文地址:https://www.cnblogs.com/sola1994/p/4689861.html
Copyright © 2011-2022 走看看