A
堪称mdzz
明明一眼就能看出来(f(x)<=9 imes 18)然后前后162个数字瞎**乱扫一下就可以做出来的东西
我又是打表又是暴力的搞了1.5h+
沉痛,结果后面两道题就GG了
B
还算是比较水的一道dp,但是我被题面长度吓到了orzorzorz,以为很难就去搞没搞出来的C题了,最后转过头来才发现好水(哭)
f[N][M][K][0/1]:表示当前字符串 s 到了第 i 位,字符串 t 到了第 j 位,目前 共
选出了 k 个子串,s[i] 与 t[j] 是否都被选择的最大长度。
考虑 s[i] 与 t[j] ,如果我们不将它们加入选择的 k 个子串,那么 :
dp[i][j][k][0] = max(dp[i][j][k][0], max(dp[i -1][j][k][0], dp[i-1][j][k][1]))
dp[i][j][k][0] = max(dp[i][j][k][0], max(dp[i][j 1][k][0], dp[i][j 1][k][1]))
如果 s[i] = t[j] ,且我们将它们加入选择的 k 个子串,那么 :
dp[i][j][k][1] = max(dp[i][j][k][1], dp[i -1][j- 1][k][1] + 1)
dp[i][j][k][1] = max(dp[i][j][k][1], max(dp[i -1][j -1][k-1][0], dp[i -1][j 1][k-1][1]) + 1)
C
太难了,phd讲了好几遍才搞懂,至今没能完成代码实现
总结
期望得分:(100+0+0=100)
实际得分:(100+0+0=100)
B题应该拿全分的,叹气0