摘要: 这一道题目与费用提前计算的那类题目很像,但是由于每个宝藏每秒钟不会损失价值,所以不是费用提前计算,但是还是可以按照类似的状态进行推导 这个区间DP滚动数组好好理解一下,其实就是我们只需要用到前一阶段的量,由于阶段是长度,所以实际处理中一般按照如下处理 然后这道题还告诉我们,别看到\(N\)为\(10 阅读全文
posted @ 2024-02-03 20:59 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 这道题目真是woc 如果像题解那么认为从\(i\)到终点考虑就非常简单,但是如果从起点到\(i\)考虑好像就非常难,做不出来 所以以后两个方向都可以想一下 update 2024.7.4 其实这道题目除了吸收两个方向都想一下,还要记住这个是怎么维护往下走走到的第一个栅栏的 像这种“第一个”的,可以尝 阅读全文
posted @ 2024-02-03 20:17 最爱丁珰 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 这道题目很简单,主要是学一下这篇题解的算法3,记住这个改良的ST表 阅读全文
posted @ 2024-02-03 19:24 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 先倒序处理(为什么下文会说),然后就变成了划分尽量多的段,使得每段的和单调不减 很容易设置出一个状态\(f[i][j]\)表示前\(i\)堆草,最后一段是\([j,i]\)的最大高度,方程也很容易推导,但是时空复杂度显然炸掉 那么此时我们就应该思考,要么就是利用数组值来搞一些事情(一般是交换两种维度 阅读全文
posted @ 2024-02-03 17:29 最爱丁珰 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 这里尝试利用单调队列优化,这里不好直接用单调队列的原因是因为(以买为例)\(-ap[i]*k_1\)不是只与下标有关的 所以解决方案一:我们将下标变成一个整体,再把后面的代价换掉然后将与下标无关的直接提出去 解决方案二:利用“蚯蚓”那一道题目的思路进行单调队列的维护 提一嘴,这里在某一天买卖股票是因 阅读全文
posted @ 2024-02-03 14:56 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 看似很简单的单调队列优化DP 但是如果状态是表示前\(i\)个烽火台被处理完的最小代价(即不知道最后一个烽火台在哪里)就无法降低复杂度 因为假设你在区间\([i-m+1,i]\)中枚举最后一个烽火台(设为\(k\)),你前面的状态并不是\(f[k-1]\),因为此时\(k\)已经可以覆盖前面的一些烽 阅读全文
posted @ 2024-02-03 14:15 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 先来看老板记忆化搜索的做法 但是显然没办法估计时间复杂度。。 我觉得更标准的做法是先用tarjan变成DAG后再DP 阅读全文
posted @ 2024-02-03 13:47 最爱丁珰 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 这道题目真就离谱,我只能说见识一下 这一点我是想到的,注意斐波那契数列增长的非常快 这一点我没有想到,但好像并没有什么用 这玩意我也想到的,但是完全无法证明,说实话只能猜 这些我也都想到了(注意一个数与其相反数的斐波那契表示法的项数显然是一样的),但是显然DP数组太大了承受不了,怎么办? 好家伙我直 阅读全文
posted @ 2024-02-03 13:40 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 看到长度是\(200\),想到区间DP 但在这里说一下,设\(f[i][j]\)表示前\(i\)个字符,转换后以\(j\)结尾的最短长度是推不走的,因为原来的字符串的第\(i\)个字符合并之后产生的新字符有可能继续合并,这是有问题的 update 2024.6.29 这个区间DP的正确性与石子合并一 阅读全文
posted @ 2024-02-03 13:14 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 状态方程的转移好好想想 阅读全文
posted @ 2024-02-03 12:23 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 非常好的一道题目,感觉这种类型的题目都被玩出花来了。。。 主要是这个可以选择送或者不送非常搞人心态,虽然从实际情况上来看就是路过一个客户时,如果是正利润那么一定要送,如果是负利润那么一定不送,但是为了DP的方便,我们可以选择即使是正利润也可以不送,负利润也可以送,只要最后覆盖了最优答案即可 注意好好 阅读全文
posted @ 2024-02-03 11:46 最爱丁珰 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 注意状态\(i\)定了之后,终点一定是固定的 update 2024.7.2 这道题目重新做的时候,发现\(m\)只有\(2\),所以用了容斥原理,考虑设\(f[i][0/1/2]\)表示使用集合\(i\)中的牌,没有经过厄运数字/只经过了第一个厄运数字/经过了两个厄运数字的方案数,然后进行分类讨论 阅读全文
posted @ 2024-02-03 10:06 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑