P8784 [蓝桥杯 2022 省 B] 积木画 题解
gesong1234 · · 题解
题目传送门:P8784 [蓝桥杯 2022 省 B] 积木画
思路
其实这道题就是 dp。
状态表示:
状态转移:
我们想
再从
1223
1123
作为一个整体,于是方案数就是
综上所述,方程就是
由于这里
代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;
main(){
int n;
cin>>n;
int a=1,b=2,c=5,d;
if (n==1){//特判
cout <<1;
return 0;
}
if (n==2){
cout <<2;
return 0;
}
if (n==3){
cout <<5;
return 0;
}
for (int i=4;i<=n;i++) //dp过程
d=c*2%mod+a,a=b,b=c,c=d,a%=mod,b%=mod,c%=mod,d%=mod;
cout <<d;
return 0;
}