动态规划的单调性优化 决策集合优化 $\mathrm\(的时候决策集合只扩大不减小,直接把最大值\)/\(最小值\)/$累加和记下来就好了. 例如:\(\mathrm{LCIS\ CH5101}\),\(f_{i,j}=\max\limits_{0\leq k<j,B_k<A_i}\{f_{i-1, ...
分类:
其他好文 时间:
2020-07-24 19:08:50
阅读次数:
90
四边形不等式: 考虑形如$dp(i,j)=min\{dp(i,k)+dp(k,j)+w(i,j)\}$的dp。(若为max则把下文大小关系取反即可) 定义:若二元函数w满足$\forall a<b\leq c<d,w(a,c)+w(b,d)\leq w(b,c)+w(a,d)$,则称其满足四边形不等 ...
分类:
其他好文 时间:
2020-07-23 19:00:41
阅读次数:
96
题意:给出一个箱子的左上角和右下角的坐标,可以插入一些板子,每块板子的上顶点和下顶点。然后给定一堆玩具,扔到箱子里,求每个分隔区域里面的玩具数量。 分析:因为板子的坐标是按顺序从小到大给出的,我们的一个点,如果在一个板子的左边,那么就在这块板子后面的板子的坐标,但是在左侧板子的右边,具有单调性,可以 ...
分类:
其他好文 时间:
2020-07-10 00:42:24
阅读次数:
90
LINK:CF321E Ciel and Gondolas 很少遇到这么有意思的题目了。虽然很套路。。 容易想到dp $f_{i,j}$表示前i段分了j段的最小值 转移需要维护一个$cost(i,j)$ 暴力显然不太行 不过暴力枚举决策的话 可以预处理前缀和线性推出。 显然想要优化决策的话第一步就需 ...
分类:
其他好文 时间:
2020-07-06 16:17:17
阅读次数:
57
快排的划分,归并排序的归并,之后的kmp都是双指针算法。 双指针算法的两大类: 指向两个区间或指向一个区间 双指针算法一般是这样的 双指针算法运用了某些单调性质,可以将暴力的O(n^2)优化到O(n) 先来一个小的问题热身,输入一行若干个用空格隔开的单词,然后依次每行输出一个单词。具体应用看这里ht ...
分类:
其他好文 时间:
2020-06-30 10:56:43
阅读次数:
44
C:给两个栈,每次只能取栈顶元素,取完后自动pop 问能取到最多几个元素 栈中元素之和必须小于等于K 官方题解给出的做法是O(N+M) 受上一场CF启发,此题可以很自然联想到二分做法。 二分答案,答案显然具有单调性。check函数只需遍历一遍可能情况 复杂度O((N+M)logX) int n, m ...
分类:
其他好文 时间:
2020-06-28 15:01:37
阅读次数:
52
二分的本质并不是单调性。 有单调性一定可以二分,但是可以二分的题目不一定有单调性。 我们找一个性质:使得整个区间可以被划分为两个左右区间,一边满足这个性质,一边不满足这个性质,中间没有交点。二分就可以寻找这个性质的边界。 上红下绿。 每次二分时都选择答案所在的区间进行操作,每一次都保证区间里一定有答 ...
分类:
其他好文 时间:
2020-06-27 20:18:15
阅读次数:
67
LINK:送礼物 原本想了一个 $nlog^2$的做法 然后由于线段树常数过大 T到30. 以为这道题卡$log2$没想到真的有神仙写$log2$的过了 是我常数大了 抱歉。 能过的$log^2$的做法是看到了一个 决策单调性优化的dp 证明我不会。 不过由此得到的启示是 一些类似或者就是dp的题目 ...
分类:
Web程序 时间:
2020-06-16 10:27:01
阅读次数:
72
7、滑动窗口模板题 题目链接: https://www.acwing.com/problem/content/156/ 题解: 做滑动窗口,一般先假想成普通队列来做,再分析题目的单调性,改进优化 AC代码: import java.util.*; import java.io.*; public c ...
分类:
其他好文 时间:
2020-06-01 12:00:58
阅读次数:
49
题意:给一个杯子 可以倒热水h 和冷水c 必须热冷热冷这样倒,可以倒无限次 问至少倒多少次的时候 温度的总和/倒的次数 最接近给的温度t 题目链接:https://codeforces.ml/contest/1359/problem/C 思路:设出函数考虑单调性 再考虑二分 1 假设倒了x杯热水的时 ...
分类:
其他好文 时间:
2020-05-31 10:47:27
阅读次数:
53