摘要: 另外一道类似的题目 阅读全文
posted @ 2024-01-25 23:46 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 假设我们按照常规的方程设置的方法,设\(f[i][j]\)表示消除区间\([i,j]\)所有木块的最大得分,我们考虑最后一段颜色相同的木块 这一段木块要么自己被单独消掉,要么与前面颜色相同的木块一起消掉 对于第一种情况,这个操作肯定可以在最开始做而不影响答案,所以有\(f[i][j]=f[i][k] 阅读全文
posted @ 2024-01-25 23:41 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 蓝书上把这道题目叫做“二维平面上的区间DP” 那么什么叫做“二维平面上的区间DP”呢? 想一下,区间是一个线段,所以是一个一维的,二维当然指的就是平面,所以“二维平面上的区间DP”就是平面DP 回到这道题目,像一维一样,我们以平面的大小为阶段进行DP即可 当然这道题目其实用记忆化搜索更加自然 阅读全文
posted @ 2024-01-25 22:23 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 主要解释一点,为什么除了枚举分段点之外,只用考虑当前这一段长成\(X(S)\)这个样子(其中\(S\)是一个折叠串) 其实很简单,如果他不长成这个样子,那么他一定会有一个分段点,使得他长成\(SQ\)这个样子,这也就是之前枚举分段点的情况了 我们考虑第二种情况时,注意\(S\)是一个折叠串,所以一定 阅读全文
posted @ 2024-01-25 21:41 最爱丁珰 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 这道题目是一道典型的完全背包 主要是记一下这个优化的思想 试想,如果我们没有学过背包,那么我们很可能枚举最大的一个数字是多少,有多少个,这样复杂度就会多一个次方 在这个时候,我们就要看出来是完全背包,从而不用枚举“有多少个”这一循环,只用枚举最大的一个数字是多少,从而降低时间复杂度 阅读全文
posted @ 2024-01-25 19:27 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 这道题目没啥难的,就是体会一下“不然浪费”的思想,把时间复杂度弄成\(O(snm)\) update 2024.6.26 第一篇题解说错了,不应该是“第\(j\)大”,而应该是第\(j\)小 阅读全文
posted @ 2024-01-25 19:01 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 把题解翻完,会发现有两种状态方程,都行,反正表达的值要么是高度要么是生命值麻,我们看一个DP题,最终表达的值一般都是题目中的一个信息(不一定是要求的答案) 阅读全文
posted @ 2024-01-25 15:22 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 其实这道题目如果加上证明有蓝的 观察样例的解释,我们可以猜测一个结论:最终的货币面值一定由最初的货币面值的子集构成,而且没有选择的货币面值是可以被选择的货币面值线性表示的(其实由线性代数的思想也可以比较容易地猜出这个结论,但是注意不要用线性方程组有解判定,即系数矩阵的秩等于增广矩阵的秩,因为这里要求 阅读全文
posted @ 2024-01-25 14:57 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑