Educational Codeforces Round 39 F,G

F. Fibonacci String Subsequences
insert image description here
The DP state is set to indicate the number of matches dp[i][j][k]between the string F(i) and the given string. There are two forms of transfer equations: 1. Completely provided by or completely provided by: : dp [ i ] [ j ] [ k ] = dp [ i − 1 ] [ j ] [ k ] ⋅ 2 len [ i − 2 ] dp[i][j][k]=dp[i-1][j][ k] \cdot 2^{len[i-2]}s[j...k]

s[j...k]f(i-1)f(i-2)
f(i-1)
k=ndp[i][j][k]=dp[i1][j][k]2len[i2]
k!=n: d p [ i ] [ j ] [ k ] = d p [ i − 1 ] [ j ] [ k ] dp[i][j][k]=dp[i-1][j][k] dp[i][j][k]=dp[i1 ] [ j ] [ k ]
is completelyf(i-2)given by:
j=1:dp [ i ] [ j ] [ k ] = dp [ i − 2 ] [ j ] [ k ] ⋅ 2 len [ i − 1 ] dp[i][j ][k]=dp[i-2][j][k] \cdot 2^{len[i-1]}dp[i][j][k]=dp[i2][j][k]2len[i1]
j!=1: d p [ i ] [ j ] [ k ] = d p [ i − 2 ] [ j ] [ k ] dp[i][j][k]=dp[i-2][j][k] dp[i][j][k]=dp[i2][j][k]
2.s[j...mid]f(i-1)提供,s[(mid+1)...k]f(i-2)提供
d p [ i ] [ j ] [ k ] = ∑ m i d = j k − 1 d p [ i − 1 ] [ j ] [ m i d ] ⋅ d p [ i − 2 ] [ m i d + 1 [ k ] dp[i][j][k]=\sum_{mid=j}^{k-1} dp[i-1][j][mid] \cdot dp[i-2][mid+1[k] dp[i][j][k]=mid=jk1dp[i1][j][mid]dp[i2][mid+1[k]

Code:https://codeforces.com/contest/946/submission/173902552

Guess you like

Origin blog.csdn.net/m0_51780913/article/details/127110960