三分
lushanlushan0026
退役acmer,准研究生
展开
-
CF 678F Lena and Queries 线段树维护凸包+三分
题意:维护一个点集 向点集中进行插入删除和查询的操作 其中查询操作是 求 q*x+y的最大值设 z=q*x+y 得到y=-q*x+z 显然我们需要使得截距z最大 我们需要维护一个凸包 然后在通过三分在凸包上找到最大值不过显然我们不能每次询问都去求一个凸包 那样复杂度是无法接受的我们可以维护每个点出现的时间 然后把它挂在线段树上面 最后在遍历一遍线段树就行了 (类似于线段树分治的思想)#include<bits/stdc++.h>using na...原创 2020-07-31 20:41:05 · 240 阅读 · 0 评论 -
整数三分/浮点三分模板
转自https://www.cnblogs.com/lukelmouse/p/12545973.html整数三分模板int l = 1,r = 100;while(l < r) { int lmid = l + (r - l) / 3; int rmid = r - (r - l) / 3; lans = f(lmid),rans = f(rmid); // 求凹函数的极小值 if(lans <= rans) r = rmid - 1; .原创 2020-05-19 21:07:39 · 587 阅读 · 0 评论 -
CF Round #643 (Div. 2) E - Restorer Distance
大佬说是三分裸题 于是我补了一下 确实挺裸的关于高度 显然是有一个cost 的峰值函数的 于是我们三分一个高度 然后进行计算记住计算的时候 要注意一个贪心 就是 当M<A+R的时候 我们先进行M操作#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e5+10;int n;ll A,R,M;ll H[N];ll checkmid(ll h){ ll a..原创 2020-05-19 20:07:58 · 1278 阅读 · 0 评论