递推,模拟
#include<bits/stdc++.h>
#include<vector>
using namespace std;
int N;
const int K = 1e7 + 10;
int arr[K];
long long MOD = 1000000007;
int main()
{
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//取消同步流,让C++代码更快
cin>>N;
arr[1] = 1,arr[2] = 2,arr[3] = 5;
for(int i = 4;i <= N;i++)
{
arr[i] = (2 * arr[i - 1] % MOD + arr[i - 3] % MOD) % MOD;
}
cout<<arr[N]<<endl;
return 0;
}
0 回复
0 转发
0 喜欢
0 阅读



