poj2229动态规划
来源:互联网 发布:go并发编程实战完整版 编辑:程序博客网 时间:2024/06/14 10:56
Sumsets
Time Limit: 2000MS Memory Limit: 200000KTotal Submissions: 20318 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).
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思路:
1=1 1
2=1+1=2 2
3=1+1+1=1+2 2
4=1+1+1+1=1+1+2=2+2=4 4
5=1+1+1+1+1=1+1+1+2=1+2+2=1+4 4
6=1+1+1+1+1+1=1+1+1+1+2=1+1+2+2=1+1+4=2+2+2=2+4 6
7=1+1+1+1+1+1+1=1+1+1+1+1+2=1+1+1+2+2=1+1+1+4=1+2+2+2=1+2+4 6
8=1+1+1+1+1+1+1+1=1+1+1+1+1+1+2=1+1+1+1+2+2=1+1+1+1+4=1+1+2+2+2=1+1+2+4=2+2+2+2=2+2+4=4+4=8 10
由此可得知当i为奇数时等于前一个偶数
当i为偶数时等于 i-2+i/2的个数
#include<iostream>#include<stdio.h>using namespace std;long long a[1000005];int main(){long long N,i;a[1]=1,a[2]=2;for(i = 3 ; i <= 1000005 ; i ++){if(i%2==0)a[i]= a[i-2]+a[i/2];if(i%2!=0)a[i]= a[i-1];a[i]%=1000000000; }while(~scanf("%ld",&N))printf("%ld\n",a[N]);}
阅读全文
0 0
- POJ2229 Sumsets 动态规划
- poj2229动态规划
- poj2229动态规划
- poj2229--Sumsets(动态规划)
- poj2229
- poj2229
- poj2229
- poj2229
- poj2229
- poj2229
- 动态规划!!!动态规划!!!
- dp-poj2229
- poj2229 Sumsets
- poj2229 Sumsets
- POJ2229 Sumsets
- POJ2229 Sumsets
- POJ2229 Sumsets
- poj2229 dp
- SDIO接口WiFi驱动浅析
- 实验二线性表的综合实验5
- LiteOS之任务管理
- bzoj1426 [收集邮票] 期望概率DP进阶
- 在 SSM 框架整合 Shiro 的相关案例
- poj2229动态规划
- datagird实现混有数字的字符串排序
- 10月30日(第1天_字符串练习)
- mysql密码的重置,数据库的备份和还原;
- HTML、CSS学习-标签(一)
- 快速查询分区表各个分区的记录数
- Oc 正则表达式~详解 03 (实现代码)
- 利用for循环,完成二级菜单
- 利用caffe.proto生成caffe.pb.h