1013: [JSOI2008]球形空间产生器sphere Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=1013 Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器. Input 第一行是一…
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3584  Solved: 1863[Submit][Status][Discuss] Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器. Input 第一行是一个整数,n.接…
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3074  Solved: 1614[Submit][Status][Discuss] Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器. Input 第一行是一个整数,n.接…
Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器. Input 第一行是一个整数,n.接下来的n+1行,每行有n个实数,表示球面上一点的n维坐标.每一个实数精确到小数点后6位,且其绝对值都不超过20000. Output 有且只有一行,依次给出球心的n维坐标(n个实数),两个实数之间用一个空格隔开.每个实数精确到小数点后3位.数…
n+1个坐标可以列出n个方程,以二维为例,设圆心为(x,y),给出三个点分别是(a1,b1),(a2,b2),(a3,b3) 因为圆上各点到圆心的距离相同,于是可以列出距离方程 \[ (a1-x)^2+(b1-y)^2=(a2-x)^2+(b2-y)^2 \] \[ (a1-x)^2+(b1-y)^2=(a3-x)^2+(b3-y)^2 \] 然后化简 \[ -2(a2-a1)x-2(b2-b1)y=a1^2-a2^2+b1^2-b2^2 \] \[ -2(a3-a1)x-2(b3-b1)y=a…
[BZOJ]1013: [JSOI2008]球形空间产生器sphere 题意:给n+1个n维的点的坐标,要你求出一个到这n+1个点距离相等的点的坐标: 思路:高斯消元即第i个点和第i+1个点处理出一个式子,这样n+1个点正好有n个系数的n元变量,即可求解. 式子:Σ( (a[i][j] - x[j])^2 )  = Σ( a[i+1][j] - x[j])^2 ) =>   Σ( x[j]*[2*(a[i+1][j]-a[i][j])] ) = Σ(a[i+1][j]*a[i+1][j] - a…
[BZOJ 1013] [JSOI2008]球形空间产生器 题面 给出一个n维球体上的n+1个点,求球心坐标 分析 设球心坐标为\((x_1,x_2,\dots x_n)\),由于一个球体上的所有点到球心距离相等.那么 第\(i\)个方程为\[ \begin{equation} \sum_{j=0}^n (a_{i,j}-x_j)^2=C^2 \tag{i} \end{equation}\] 其中\(C\)为距离,\(a_{i,j}\)为点的坐标.我们对相邻两个方程做差,消去\(x_j^2\)和…
球形空间产生器sphere HYSBZ - 1013 (高斯消元) 原题地址 题意 给出n维的球上的n个点,问原球体球心. 提示 n维球体上两点距离公式\(dist = \sqrt{ (a1-b1)^2 + (a2-b2)^2 + - + (an-bn)^2 }\) 解法 \((x1-x0)^2\) --1 \((x2-x0)^2\) --2 2-1得 \((x2-x0)^2-(x1-x0)^2=0\) --> \(2(x2-x1)x0=(x2-x1)^2\) 类似可得 \(2(x2-x1)x0…
题目 传送门:QWQ 分析 高斯消元就是个大暴力.... 代码 #include <bits/stdc++.h> using namespace std; ; ; int n; double a[maxn][maxn], b[maxn][maxn] ,c[maxn]; double sqr(double a) {return a*a;} void Gauss() { int n; scanf("%d",&n); ;i<=n+;i++) ;j<=n;j++…
很直观的一个gauss题: 用的是以前用过的一个模板: #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #define maxn 12 #define eps 0.00001 using namespace std; ][]; ]; void exchange_col(int p1,int p2,int n) { double t; int i; ; i<=n…