正确性证明P3194

link
Social_Zhao's TJ


设直线

\[l_{i \in [1,3]}=k_ix+b_i \]

其中

\[k_1 \lt 0 \le k_3 \lt k_2 \]

设 \(l_1\) 与 \(l_2\) 交点 \(P(x,y)\)

\[if\;\;k_1x+b_1 \ge k_3x+b_3\,, \]

\[l_3\;is\;Invisible. \]

\[k_1x+b_1=k_2x+b_2 \]

\[x=\frac{b_2-b_1}{k_1-k_2} \]

所以

\[k_1\frac{b_2-b_1}{k_1-k_2}+b_1 \ge k_3\frac{b_2-b_1}{k_1-k_2}+b_3 \]

因为 \(\color{red}{k_1-k_2 \lt 0}\)
所以

\[k_1(b_2-b_1)+b_1(k_1-k_2) \le k_3(b_2-b_1)+b_3(k_1-k_2) \]

\[(k_1-k_3)(b_2-b_1) \le (k_1-k_2)(b_3-b_1) \]

\[\frac{b_1-b_2}{k_1-k_2} \ge \frac{b_1-b_3}{k_1-k_3} \]

设 \(l_i \to Q_i(k_i,b_i)\) , \(Q_i\) 、 \(Q_j\) 确定的直线斜率记为 \(\kappa (i,j)\)
则最终有

\[\kappa (1,2) \ge \kappa (1,3) \]

从图上表示即经过 \(Q_1\) 、 \(Q_2\) 的上凸折线位于直线 \((Q_1,Q_3)\) 上方
故把直线看作点求解上凸壳即可

上一篇:python算法之两数之和


下一篇:数列分块入门 1-9