10.29 考试总结
a
咋一看是暴力跑循环,实际上还是暴力循环。只不过根据题目意思,实际上公式\(f(x) + x = n\)而这个f(x)就是x各个位的和。大概脑补一下还是能算出来f(x)最大也就是9*位数就可以将整体的循环控制在几千......
b
设\(dp[i][j][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)\]
实际上还真不会树形DP,然后连着考了自然就是连着炸.....
c
暴力写法实际上还是很好实现的最后快考完的时候才看懂题目,所以还是没有写出来。本身正解好像还是暴力,只不过通过预处理来降低一部分复杂度....
总结
这套题作为一套给同学们增长信心的题,难度中等,码量偏低,解法自然,是一套
不错的练手题。
可能是我太菜了
原文地址:https://www.cnblogs.com/rendex/p/9876872.html
时间: 2024-11-08 20:04:14