zoukankan      html  css  js  c++  java
  • 【POJ】2229 Sumsets(递推)

    Sumsets
    Time Limit: 2000MS   Memory Limit: 200000K
    Total Submissions: 20315   Accepted: 7930

    Description

    Farmer John commanded his cows to search for different sets of numbers that sum to a given number. The cows use only numbers that are an integer power of 2. Here are the possible sets of numbers that sum to 7: 

    1) 1+1+1+1+1+1+1 
    2) 1+1+1+1+1+2 
    3) 1+1+1+2+2 
    4) 1+1+1+4 
    5) 1+2+2+2 
    6) 1+2+4 

    Help FJ count all possible representations for a given integer N (1 <= N <= 1,000,000). 

    Input

    A single line with a single integer, N.

    Output

    The number of ways to represent N as the indicated sum. Due to the potential huge size of this number, print only last 9 digits (in base 10 representation).

    Sample Input

    7

    Sample Output

    6

    Source

     
     
     
    ------------------------------------------------------------------------------------------------
    分析:按照背包递推即可。
     
    #include <cstdio>
    #include <algorithm>
    using namespace std;
    int w[25],dp[1000005];
    int main()
    {
        int a=1,n;
        scanf("%d",&n);
        for(int i=0;i<=25;i++)
        {
            w[i]=a;
            a*=2;
        }
        dp[0]=1;
        for(int i=0;i<=25;i++)
        for(int j=w[i];j<=1000000;j++)
        {
            dp[j]+=dp[j-w[i]];
            dp[j]%=1000000000;
        }
        printf("%d",dp[n]%1000000000);
        return 0;
    }
  • 相关阅读:
    Java基础01
    架构漫谈阅读笔记1
    机器学习-分类算法之k-近邻
    机器学习-模型选择
    机器学习-scikit-learn数据集
    机器学习-特征选择
    机器学习-数据的特征预处理
    实现模式阅读笔记二
    实现模式阅读笔记一
    《架构之美》阅读笔记七
  • 原文地址:https://www.cnblogs.com/noblex/p/7749894.html
Copyright © 2011-2022 走看看