题目
题目分析
打表后发现规律,利用前缀和得出结果
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<stack>
#define PI 3.141592653
#define mod 1000000007
using namespace std;
long long a[1000000],sum[1000000];
int main()
{
int n;
scanf("%d",&n);
a[1]=1;sum[1]=1;
for(int i=2;i<=n;i++)
{
a[i]=1+sum[i/2]%mod;
a[i]%=mod;
sum[i]+=sum[i-1]+a[i];
sum[i]%=mod;
}
printf("%lld",a[n]);
return 0;
}