[JSOI2008]球形空间产生器(线性代数+高斯消元)
2021-02-03 17:16
标签:$$ using const print 方程组 for i+1 表示 形式 给你一个n维球体上的n+1个点,让你求这个n维球体的球心。数据保证球心是唯一的。 将球心设出来为$(x_1, x_2, \cdots, x_n)$,设半径为$r$。设球上一点为$(y_1, y_2, \cdots, y_n)$,根据n维空间内两点之间距离公式得$\sum_{i=1}^n (y_i-x_i)^2=r^2$。 设每个点表示为$(a_{i,1}, a_{i,2}, \cdots, a_{i,n})$。可以得到方程组: $$\begin{cases} 将第$i$个方程与第$i+1$个方程相减得: $$\begin{cases} 再变成标准形式: $$\begin{cases} n个未知数n个方程,直接高斯消元。因为题目保证有解所以不需要做过多的判断。 [JSOI2008]球形空间产生器(线性代数+高斯消元) 标签:$$ using const print 方程组 for i+1 表示 形式 原文地址:https://www.cnblogs.com/zcr-blog/p/13155348.html题目大意
Analysis
\sum_{i=1}^n (a_{1,i}-x_i)^2=r^2\\
\sum_{i=1}^n (a_{2,i}-x_i)^2=r^2\\
\cdots\\
\sum_{i=1}^n (a_{n+1,i}-x_i)^2=r^2\\
\end{cases}
$$
\sum_{i=1}^n (a_{1,i}^2-a_{2,i}^2-2x_i(a_{1,i}-a_{2,i}))=0\\
\sum_{i=1}^n (a_{2,i}^2-a_{3,i}^2-2x_i(a_{2,i}-a_{3,i}))=0\\
\cdots\\
\sum_{i=1}^n (a_{n,i}^2-a_{n+1,i}^2-2x_i(a_{n,i}-a_{n+1,i}))=0\\
\end{cases}
$$
\sum_{i=1}^n (2x_i(a_{1,i}-a_{2,i}))=\sum_{i=1}^n a_{1,i}^2-a_{2,i}^2\\
\sum_{i=1}^n (2x_i(a_{2,i}-a_{3,i}))=\sum_{i=1}^n a_{2,i}^2-a_{3,i}^2\\
\cdots\\
\sum_{i=1}^n (2x_i(a_{n,i}-a_{n+1,i}))=\sum_{i=1}^n a_{n,i}^2-a_{n+1,i}^2\\
\end{cases}
$$Code:
#include
文章标题:[JSOI2008]球形空间产生器(线性代数+高斯消元)
文章链接:http://soscw.com/index.php/essay/50514.html