• POJ2229 Sumsets


    Sumsets
    Time Limit: 2000MS   Memory Limit: 200000K
    Total Submissions: 26408   Accepted: 9992

    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


    刚学dp有点懵懵懂懂的,这个题是完全背包
    递推式是: dp[j] = dp[j] + dp[j-c[i]]    0<=i<n  (n是可能会出现的2的指数序列的个数)    初始dp[0]=1
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int max(int a, int b)
    {
        return a>b ? a:b;
    }
    
    int dp[1000100];
    
    int main()
    {
        int c[20];
        c[0]=1;
        for(int i=1; i<20; i++)
            c[i] = c[i-1]*2;
    
        int n;
        while(scanf("%d", &n)!=-1)
        {
            dp[0]=1;
    
            for(int i=0; i<20; i++)
            {
                for(int j=c[i]; j<=n; j++)
                {
                    dp[j] = (dp[j] + dp[j-c[i]])%1000000000;
                }
            }
            printf("%d
    ", dp[n]);
        }
    }
  • 相关阅读:
    HandlerMethodArgumentResolver[1]-Controller入参封装
    SpringMVC拦截器
    处理器映射器HandlerMapping
    SpringBoot启动流程
    SpringBoot自动配置原理
    DeferredImportSelector的处理
    Spring的SPI机制【spring.factories】
    Spring 5.3.x源码构建
    分析jvm的cpu,内存,回收问题
    F.A.Q常见问题处理
  • 原文地址:https://www.cnblogs.com/Dawn-bin/p/11032182.html
Copyright © 2020-2023  润新知