POJ 2229 Sumsets(计数dp)
来源:互联网 发布:ubuntu时间不对 编辑:程序博客网 时间:2024/06/09 21:17
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+4Help 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
分析
dp[i]:数字i的最多组合数
若i是奇数:i的任意一个组合都包含1,所以dp[i] = dp[i-1]
若i是偶数:i-1是奇数,任意一个组合加1构成i的组合,除了这些组合之外,i的其他组合都不包含1,意味着全部是偶数,则i/2的每个组合乘以2可以构成i的一个组合
所以dp[i]=dp[i-1]+dp[i>>1]
/*===============================================================* Copyright (C) 2016 All rights reserved.* * 文件名称:B.cpp* 创 建 者:gsh* 创建日期:2016年08月10日* 描 述:2的幂数 dp* 更新日志:*================================================================*/#include <iostream>#include <cstdio>typedef long long ll;typedef unsigned long long ull;using namespace std;const int maxn = 1000001;const int MOD = 1000000000;ll a[maxn];int main(){ int n; while(scanf("%d",&n) != EOF) { a[0] = 1; for(int i = 1; i <= n; i++) { if(i&1) a[i] = a[i-1]; else a[i] = (a[i-1] + a[i >> 1]) % MOD; } printf("%d",a[n]); } return 0;}
- POJ 2229 Sumsets(计数dp)
- POJ 2229 Sumsets(DP计数问题)
- poj 2229 Sumsets DP
- POJ 2229 Sumsets DP
- POJ-2229 Sumsets DP
- poj 2229 Sumsets【DP】
- Poj 2229 Sumsets【dp】
- POJ 2229 Sumsets (dp)
- [PKU 2229] Sumsets (计数DP+构造)
- poj 2229 Sumsets (DP)
- POJ 2229-Sumsets ( 基础DP)
- POJ 2229-Sumsets(DP)
- POJ 2229 Sumsets (dp)
- POJ 2229 Sumsets(dp)
- POJ 2229 Sumsets (简单DP)
- Sumsets (poj 2229 简单dp)
- [dp]POJ 2229 Sumsets 解题报告
- POJ 2229 Sumsets(dp 递推)
- ViewPage解析(二)
- 在导航栏中添加音量加减button
- epoll
- LINUX搭建FTP服务器
- java中的抽象类和接口
- POJ 2229 Sumsets(计数dp)
- 华为手机根据app的按照目录判断app是否可以卸载的数据分析
- php下的 pHash扩展实现
- JQuery Ajax使用FormData对象上传文件 图片
- Label的用法
- BOM和DOM详解
- NuPlayer 分析(一)
- 有时候提醒一下自己怕忘掉
- HTML5的canvas元素的简单使用