Sumsets

来源:互联网 发布:网络安全技术的建议 编辑:程序博客网 时间:2024/05/16 12:37
      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
思路:通过从1开始分析可得:
N=1:1--1种方法
N=2:1+1
2--2种方法
N=3:1+1+1
1+2--2种方法
N=4:1+1+1+1
1+1+2
2+2一下为a[4/2]项中的每项乘以2
4--4种方法
N=5:1+1+1+1+1
1+1+1+2
1+2+2
1+4--4种方法
N=6:1+1+1+1+1+1
1+1+1+1+2
1+1+2+2
1+1+4
2+2+2一下为a[6/2]项中的每项乘以2
2+4--6种方法
N=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种方法
N=8: 1+1+1+1+1+1+1 +11+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一下为a[8/2]项中的每项乘以2
2+2+4
4+4
8--10种方法
N=9: 1+1+1+1+1+1+1+1 +11+1+1+1+1+1+1+2 1+1+1+1+1+2+2 1+1+1+1+1+4 1+1+1+2+2+2 1+1+1+2+4 
1+2+2+2+2
1+2+2+4
1+4+4
1+8--10种方法
有分析可得:状态方程a[n]=a[n-2]+a[n/2];
代码实现:
#include<cstdio>#include<cstring>using namespace std;int main(){    int n;    scanf("%d",&n);    int num[1000001];    num[0]=num[1]=1;    for(int i=2;i<=n;i++)    {        num[i]=num[i-2]+num[i/2];        num[i]=num[i]%1000000000;    }    printf("%d\n",num[n]);    return 0;}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 喝母乳的宝宝不喝奶粉怎么办 我宝宝的牙齿长的不整齐怎么办? 宝宝5个月了母乳不够吃怎么办 4个月宝宝母乳不够吃怎么办 11个月宝宝只吃母乳怎么办 10个月宝宝突然不吃母乳怎么办 2个月宝宝咳嗽怎么办是吃母乳的 九个月宝宝不喜欢吃粥和米糊怎么办 9个月宝宝突然不吃辅食怎么办 宝贝8个月不吃辅食怎么办 11个月宝贝不吃辅食怎么办 十一个月宝宝长牙不吃辅食怎么办 八个多月的宝宝不爱吃辅食怎么办 7个月的宝宝不爱吃辅食怎么办 宝宝只吃母乳不吃辅食怎么办 10个月的宝宝不肯吃勺子怎么办 十一个月大宝宝不吃奶吃饭怎么办 十一个月宝宝光吃奶不吃饭怎么办 20个月宝宝爱吃奶不爱吃饭怎么办 宝宝8个多月不肯米糊跟粥怎么办 8个月宝宝突然不肯吃米糊了怎么办 八个月宝宝突然不吃辅食怎么办 八个月宝宝拉屎费劲还干怎么办 两个月的小孩不喜欢吃奶粉怎么办 三个多月的宝宝不爱吃奶怎么办 4个月的宝宝不吃奶怎么办 九个月宝宝一直高烧不退怎么办 8个月宝宝不吃辅食怎么办 孩子七个月了母乳不够了怎么办 11个月宝宝吃的太多怎么办 宝宝十一个月了上火眼死太多怎么办 9个月孩子不吃辅食怎么办 y一夜没有睡好现在母乳不够怎么办 喂母乳的婴儿总要吃奶怎么办 宝宝四个月了奶水不够吃怎么办 宝宝出生十天了奶水不够吃怎么办 宝宝晚上不吃奶了奶水多怎么办 我家小孩六个月了奶不够吃怎么办 六个月的宝宝奶不够吃怎么办 宝贝六个月了奶不够吃怎么办 奶不够吃宝宝又不吃奶粉怎么办