zoukankan      html  css  js  c++  java
  • hdu 1398 Square Coins(母函数)

    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <set>
    #include <map>
    #include <string>
    #include <math.h>
    #include <stdlib.h>
    #include <time.h>
    using namespace std;
    
    int main()
    {
       int _,n,i,j,k,c1[305],c2[305];
        while(~scanf("%d",&n))
        {
    
            if(n==0) break;
            for(i=0;i<=n;i++)
            {
                c1[i]=1;
                c2[i]=0;
            }
            for(i=2;i*i<=n;i++)
            {
                for(j=0;j<=n;j++)
                    for(k=0;k+j<=n;k+=i*i)
                {
                    c2[j+k]+=c1[j];
                }
                for(j=0;j<=n;j++)
                {
                    c1[j]=c2[j];
                    c2[j]=0;
                }
            }
            printf("%d
    ",c1[n]);
        }
        return 0;
    }
    

    背包

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    
    int dp[400];
    int main()
    {
        int n,i,j;
        while(~scanf("%d",&n))
        {
            if(n==0) break;
            memset(dp,0,sizeof(dp));
            dp[0]=1;
            for(i=1; i*i<=n; i++)
            {
                for(j=i*i; j<=n; j++)
                {
                    dp[j]+=dp[j-i*i];
                }
            }
            printf("%d
    ",dp[n]);
        }
        return 0;
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/

  • 相关阅读:
    L1-050. 倒数第N个字符串
    全排列问题(递归)
    L2-014. 列车调度
    连通 OR 不连通(NOJ 1044)
    数三角形(codevs 3693)
    Min(BZOJ 1441)
    STL中heap用法
    军训分批(codevs 2751)
    团伙(codevs 2597)
    Subsequence(hdu 3530)
  • 原文地址:https://www.cnblogs.com/xryz/p/4847936.html
Copyright © 2011-2022 走看看