卧薪尝胆,厚积薄发。
简单题
Date: Thu Dec 13 21:46:19 CST 2018
In Category:
NoCategory
Description:
加入直线,删除直线,求一个点到平面上所有直线距离平方和最小。
$1\leqslant n\leqslant 120000$
Solution:
列式子就是:
$$
\begin{align}
f(x,y)&=\sum_{i=1}^n\frac{(A_ix+B_iy+C_i)^2}{A_i^2+B_i^2}\\
&=\sum_{i=1}^n\frac{A_i^2x^2+B_i^2y^2+C_i^2+2A_iB_ixy+2A_iC_ix+2B_iC_iy}{A_i^2+B_i^2}
\end{align}
$$
于是对
$x$
和
$y$
分别求偏导就是:
$$
f'(x)=\sum_{i=1}^n\frac{2A_i^2x+2A_i(B_iy+C_i)}{A_2^2+B_2^2}=0\\
f'(y)=\sum_{i=1}^n\frac{2B_i^2y+2B_i(A_ix+C_i)}{A_2^2+B_2^2}=0\\
\sum_{i=1}^n\frac{A_i^2}{A_i^2+B_i^2}x+\sum_{i=1}^n\frac{A_iB_i}{A_i^2+B_i^2}y+\sum_{i=1}^n\frac{A_iC_i}{A_i^2+B_i^2}=0\\
\sum_{i=1}^n\frac{B_i^2}{A_i^2+B_i^2}y+\sum_{i=1}^n\frac{A_iB_i}{A_i^2+B_i^2}x+\sum_{i=1}^n\frac{B_iC_i}{A_i^2+B_i^2}=0
$$
于是插入和删除都可以维护一下这三个值,然后解出
$x$
和
$y$
即可。线段树分治都不用。
注意各种情况的分类讨论。
Code:
In tag:
数学-高等数学-求导与积分
Copyright © 2020
wjh15101051
ღゝ◡╹)ノ♡