[学习笔记]优化基础技巧

只能说确实挺基础。
集合起来写写吧。

二分系列

二分

略。

三分

对于传统的定义域在实数上的凸函数求最值,可以使用三分法。

lmid = l + ((r - l) >> 1);
rmid = lmid + ((r - l) >> 1);
if(cal(limd) > cal(rmid))
r = rmid;
else
l = lmid;
对于凸函数的二分

OI里凸函数大多为横坐标差相等的离散函数,我们知道凸函数的导数有单调性,又知OI里是离散的,所以我们直接
二分位置,求\(\Delta\to 0\)的位置即最值位置。

分数规划

一般来说分数规划求如下问题
若干物品有两个权值\(a,b\),选出若干物品使得\(\frac{\sum a}{\sum b}\)最小/最大。

同时可能会有一些奇怪的限制,比如“分母至少为\(W\)”,我会在这个学习笔记配套的练习里说。

我们对该问题采取二分法。
二分答案后我们转为\(check\)。
求\(\frac{\sum a}{\sum b} > mid\)
即可知\(\sum a - mid * \sum b > 0\)
即\(\sum a - mid * b > 0\)
求出左侧柿子最大值即可。

凸优化
上一篇:七、配置前提(4)


下一篇:三分(整数和浮点数模板)