#38690: __思路


qerpzzea@gmail.com (賽希爾 cecill(陳宥穎))


狀態表示:

dp[i][j][k] 代表所有從a序列中的前i個字母,b序列中的前j個字母,c序列中的前k個字母出現的子序列的最大值

狀態計算:

集合劃分 dp[i][j][k]=max(

dp[i-1][j][k],

dp[i][j-1][k],

dp[i][j][k-1],

dp[i-1][j-1][k],

dp[i][j-1][k-1],

dp[i-1][j][k-1],

dp[i-1][j-1][k-1]+1 (當a[i]==b[j]==c[k]時)

)