#include<bits/stdc++.h>
using namespace std;
const int MAXN=1000100;
const int mod=1e9+7;
int dp[MAXN];
int main()
{
int i,n;
dp[0]=1;
for(i=1;i<MAXN;i++)
{
if(i&1)
dp[i]=dp[i-1];
else
dp[i]=(dp[i-1]+dp[i>>1])%mod;
}
while(~scanf("%d",&n))
{
printf("%d\n",dp[n]);
}
}51nod 1383 整数分解为2的幂
最新推荐文章于 2021-04-16 20:28:50 发布
本文介绍了一个使用C++实现的动态规划算法案例,通过预处理技术高效地解决了与序列有关的问题。该算法利用了位操作来优化计算过程,并通过一个不断更新的状态转移方程来递推求解目标序列的特定数值。

501

被折叠的 条评论
为什么被折叠?



