zoukankan      html  css  js  c++  java
  • poj 2229 Sumsets

    Sumsets
    Time Limit: 2000MS   Memory Limit: 200000K
    Total Submissions: 18373   Accepted: 7190

    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

     
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cmath>
     4 
     5 using namespace std;
     6 
     7 const int maxn = 1000010;
     8 const int M = 1000000000;
     9 
    10 int dp[maxn];
    11 
    12 void solve(){
    13     dp[0] = 1;
    14     for(int i = 1;i<maxn;++i){
    15         if(i%2){
    16             dp[i] = dp[i-1];
    17         }else{
    18             dp[i] = (dp[i/2]+dp[i-2])%M;
    19         }
    20     }
    21 }
    22 
    23 int main(){
    24     int n;
    25     solve();
    26     while(cin>>n){
    27         cout<<dp[n]<<endl;
    28     }
    29     return 0;
    30 }
  • 相关阅读:
    iOS7 自己定义动画跳转
    Android开发之用双缓冲技术绘图
    postgres 使用存储过程批量插入数据
    渗透过程
    python pytesseract使用
    排序算法比较
    python算法
    python中PIL模块
    数字电路复习
    windows服务参考
  • 原文地址:https://www.cnblogs.com/lueagle/p/6550290.html
Copyright © 2011-2022 走看看