斜率优化总结
来源:互联网 发布:软件著作权资助 编辑:程序博客网 时间:2024/05/24 06:22
一.上凸包
作用:求最大值
如果不等式最后化简得到dy/dx>k,那么应该用上凸包。
上凸包特点:随x递增,斜率递减
只要找到斜率最接近k且>=k的点,即是所求最大值
struct Point { LL x, y; Point() {} Point(LL X, LL Y) { x = X; y = Y; } Point operator-(const Point &P)const { return Point(x - P.x, y - P.y); } LL operator*(const Point &P)const { return x * P.y - y * P.x; }} P[MX], W[MX];int n, sz;LL solve() { LL ret = 0; sz = 0; for (int i = 1; i <= n; i++) { while (sz >= 2 && (P[i] - W[sz]) * (W[sz] - W[sz - 1]) <= 0) sz--; W[++sz] = P[i]; int l = 1, r = sz, m1, m2; while(l < r) { int mid = l + (r - l) / 3; int midr = r - (r - l) / 3; if(f(mid, x) < f(midr, x)) l = mid + 1; else r = midr - 1; } ret = max(ret, f(i, W[l].x)); }}
二.下凸包
作用:求最小值
如果不等式最后化简得到dy/dx<k,那么应该用下凸包。
下凸包特点:随x递增,斜率递增
只要找到斜率最接近k且<=k的点,即是所求最小值
while (sz >= 2 && (P[i] - W[sz]) * (W[sz] - W[sz - 1]) >= 0) sz--;
0 0
- DP斜率优化总结
- 斜率优化总结
- 斜率优化总结
- 斜率优化总结&基础题表
- 斜率优化
- 斜率优化
- 斜率优化
- 斜率优化
- 斜率优化
- 斜率优化
- 斜率优化
- 斜率优化
- 斜率优化
- 斜率优化
- BZOJ3156 防御准备 水水的斜率优化(斜率优化总结)
- DP(斜率优化)
- 【斜率优化DP】Batch_Scheduling
- Hdu-2993斜率优化
- 计蒜客等和的分隔子集
- Java概述
- PAT甲级1003. Emergency (25)
- IOS开发学习笔记(二)
- 【Android 进阶】 Android 回调理解
- 斜率优化总结
- Codeforces ZeptoLab Code Rush 2015 B. Om Nom and Dark Park DFS
- 使用实体分区创建SWAP
- 实验1:Visual C++6.0 开发环境入门
- 109. Convert Sorted List to Binary Search Tree
- 深入学习的艺术——每一个程序员都必不可少的技能
- Latex配置问题
- 九度OJ(1078)
- 外挂学习之路(10)--- 穿透发包线程寻找call的通杀方法