zoukankan      html  css  js  c++  java
  • 母函数hdu1085

    直接来。(1+x+x^2...+)*(1+x^2+x^4+....)*(1+x^5+x^10+...)

    求系数的模板 

            c[0]=1;
            for(int i = 0 ;i<3;i++){
                for(int j= 0 ;j<= a[i];j++)
                for(int k = 0 ;k+j*val[i]<=Max;k++){
                    c1[k+j*val[i]]+=c[k];
                }
                for(int k =0 ;k<=Max;k++)
                    c[k]=c1[k],c1[k]=0;
            }
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <algorithm>
    #include <climits>
    #include <string>
    #include <iostream>
    #include <map>
    #include <cstdlib>
    #include <list>
    #include <set>
    #include <queue>
    #include <stack>
    using namespace std;
    int a[10];
    int val[]={1,2,5};
    int c[111111];
    int c1[111111];
    int main()
    {
        while(scanf("%d%d%d",&a[0],&a[1],&a[2])!=EOF,a[0]+a[1]+a[2]){
            int Max =  val[0] *a[0]+val[1]*a[1]+val[2]*a[2];
            memset(c1,0,sizeof(c1));memset(c,0,sizeof(c));
            for(int i = 0 ;i<=a[0];i++)
                c[i] = 1;
            for(int i = 1 ;i<3;i++){
                for(int j= 0 ;j<= a[i];j++)
                for(int k = 0 ;k+j*val[i]<=Max;k++){
                    c1[k+j*val[i]]+=c[k];
                }
                for(int k =0 ;k<=Max;k++)
                    c[k]=c1[k],c1[k]=0;
            }
            int ans=0 ;
            for(int i =0 ;i<=Max+100;i++)
                if(!c[i]){
                    ans=i;break;
                }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    DOM型XSS(pikachu)
    第十周笔记
    第九周数据结构
    第八周数据结构笔记
    第七周笔记
    第六周笔记
    第五周数据结构
    第四周笔记
    数据结构(第三周)
    数据结构—第二周学习笔记
  • 原文地址:https://www.cnblogs.com/yigexigua/p/3907141.html
Copyright © 2011-2022 走看看