三分
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 · 217 阅读 · 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 · 539 阅读 · 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 · 1242 阅读 · 0 评论