段长不超最短奇R段长# 定义“最短奇R段”表示 S 中长为奇数且最短的 R 连续段,那么我们要求每个段长不超过最短奇R段长。 对于B 连续段,我们可以在 B 的旁边反复横跳。 对于R 连续段,我们需要在 R 的旁边反复横跳,但是要求最终要跳到 B 的旁边。如果此 R 连续段长度为偶数,那么直接在挨着 B 的那...
#include<bits/stdc++.h> #define N 400050 #define mod 1000000007 using namespace std; int f[N], n, m; char a[N]; void solve() { f[0] = 1; for(int i = 1; i <= n; i ++) f[i] = (f[i - 1] + f[i - 2]) % mod; printf("%lld ", (f[n] + (n > 1? f[...