随笔分类 - 单调队列优化
摘要:Cutlet 写出转移方程式, 发现能用单调队列优化, 写起来比较麻烦。
阅读全文
摘要:首先肯定是将老鼠和洞都排好序, dp[ i ][ j ] 表示处理了 前 i 个洞, 进去 j 只老鼠的最小距离和, 很明显处理先处理靠前的老鼠。 然后观察一下这个dp, 发现它满足决策单调性, 然后直接上了个分治, 然后 T 了。 然后继续观察了半天, 发现对于, dp[ i - 1 ][ 0 ]
阅读全文
摘要:思路:很容易写出dp方程,很容易看出能用单调队列优化。。
阅读全文
摘要:B - Strip 思路:简单dp,用st表+单调队列维护一下。
阅读全文
摘要:他们oj挂掉啦, 我先保存一下代码。。。 直接dp复杂度, n * 100 * 100, 我们可以将前一个人的信息丢进单调队列中去,可以优化成n * 100;
阅读全文
摘要:题目大意:给你n个数, 让你问你最长的满足要求的区间有多长,区间要求:MAX - MIN >= m && MAX - MIN <= k 思路:单调队列维护递增和递减,在加入数值的过程中更新答案。
阅读全文
摘要:先要了解一个结论,在多种可行的堆叠方案中,至少有一种能使层数最高的方案同时使得底边最短。即底边最短的,层数一定最高。 dp[ i ] = min(sum[j - 1] - sum[i - 1]) j > i 且 sum[j - 1] - sum[i - 1] >= dp[j]可以用单调队列优化。
阅读全文