D.
dp[i][j][k]表示以在s串中的下标i结尾,t串中下标j结尾,总共配对了k对,并且s[i]和t[j]都用上的最长总和。
dp2[i][j][k]表示dp[i][j][k]的前缀最大值,即表示用s串中的前i个,t串中的前j个,配对k对的最长总和
然后转移,首先判断s[i]是否等于t[j]
如果等于
那么dp[i][j][k]就会转移自dp2[i-1][j-1][k-1]+1和dp[i-1][j-1][k]+1
不管等不等于
dp2[i][j][k]都要像LCS一样转移,然后把dp[i][j][k]也转移到dp2[i][j][k]里面就好
复杂度O(NMK)