一、题意:给定一个数n,将它分解成2^i的和的形式,求不同的分解数。
二、思路:poj崩了,暂时不能确定思路是否正确。
三、代码:
#include"iostream"#include"stdio.h"#include"math.h"using namespace std;const int MAXN=1000005;const long long MOD=1000000000;int dp[2][MAXN];int num;void GetRes(int n){ num=floor(log2(n))+1; for(int i=0;i=0) dp[(i+1)&1][j]=(dp[(i+1)&1][j-int(pow(2,i))]+dp[i&1][j])%MOD; else dp[(i+1)&1][j]=dp[i&1][j]%MOD; } } cout< <