三分法用来求解函数的极值,极值左右区间满足单调性。 我们使用类似二分的思想来求解 极大值 (极小值同理): 我们定义 $\displaystyle mid = \frac{l+r}{2}$,$\displaystyle mmid = \frac{mid+r}{2}$,分类讨论: 如果 $f(mid) ...
分类:
其他好文 时间:
2018-08-25 11:30:52
阅读次数:
155
花团 线段树分治裸题 给出了结束时间跟离线没区别 「LibreOJ Round #6」花火 首先在第一次使用交换是显然的 然后统计逆序对暴力是n^2的(前缀和优化) 因为交换两个点改变的只有x<i y>i 比较容易猜到决策单调性 加上统计log的时间 时间复杂度nlog^2 ...
分类:
其他好文 时间:
2018-08-24 23:36:45
阅读次数:
190
题面 "题目传送门" 解法 决策单调性比较经典的题吧 题目就是要对于每一个$i$求$f_i=max(a_j a_i+\sqrt{|i j|}))$ 可以发现,$\sqrt n$的增长速度比较慢,所以满足决策单调性 决策单调性是指,如果决策$j$对于$i$已经不是最优的了,那么在后面也一定不是最优的 ...
分类:
其他好文 时间:
2018-08-14 22:50:05
阅读次数:
238
思维题。 以地板为序构造链表,再排序,然后删除走不过去的地面。 删除的时候顺便维护最大的跨度,以此判断可行性。 总的来说利用了答案的单调性。 cpp include include include include using namespace std; const int MAXN = 1e5 + ...
分类:
其他好文 时间:
2018-08-07 23:48:46
阅读次数:
250
二分答案 !阅读须知||阅读本博文前笔者认为读者已经学会(或了解)了: 1.基础语言与算法 2.标准二分法(二分思想) 3.二分查找 定义 二分答案与二分查找类似,即对有着单调性的答案进行二分,大多数情况下用于求解满足某种条件下的最大(小)值。 答案单调性 答案的单调性大多数情况下可以转化为一个函数 ...
分类:
其他好文 时间:
2018-08-07 20:45:40
阅读次数:
277
传送门 思路:加上能够养活x个妹子,那么必定能养活<x个妹子,满足单调性,可以二分。 我们二分能够养活的最大的妹子数量。对于当前已经符合check函数的mid,ans一定在[mid,r]的区间内, 因此采用 mid=(l+r+1)>>1;if(check(mid)) l=mid;else r=mid ...
分类:
其他好文 时间:
2018-08-04 21:41:04
阅读次数:
138
单调队列,顾名思义就是一个具有单调性的一个队列,可是该怎么实现呢。 用普通的队列肯定不能实现,因此我们需要用到里一个数据结构——双端队列,这个也比较容易理解,就是两头都可以进和出队的操作。 然后我们就可以进行愉快的写单调队列了。 单调队列与优先队列还不一样,优先队列只要你不主要删除,他是不会删的,但 ...
分类:
其他好文 时间:
2018-08-03 22:34:35
阅读次数:
145
二分与三分: 二分(单调性),三分(单峰性),这章主要考数学,模拟,与读题!!! 链接: https://pan.baidu.com/s/1AJTl_0p5Lh4T1MmNwyJWzg 密码: j3j5 ...
分类:
其他好文 时间:
2018-08-03 22:34:00
阅读次数:
217
肥肠神奇的方法 :先把两个子序列‘合在一起’,再利用单调性求解。查找用二分 ...
分类:
其他好文 时间:
2018-08-02 10:17:40
阅读次数:
131
最小生成树十分简单,想求最大边权最小的一个数。我们利用树的性质和单调性,维护所有节点的父节点(刚开始的时候弄成自己)和一个当前用于建树的边数sum。先sort把所有边按边权从小到大排序,然后向后遍历,如果这条边的两端点最大的父亲不一样就令他们合并,并且sum++。当sum==n-1时停下来,答案就是 ...
分类:
其他好文 时间:
2018-08-01 18:18:47
阅读次数:
287