题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1013

1013: [JSOI2008]球形空间产生器sphere

  有一个球形空间产生器能够在n维空间中产生一个坚硬的球体。现在,你被困在了这个n维球体中,你只知道球
面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器。

Input

  第一行是一个整数n(1<=N=10)。接下来的n+1行,每行有n个实数,表示球面上一点的n维坐标。每一个实数精确到小数点
后6位,且其绝对值都不超过20000。

Output

  有且只有一行,依次给出球心的n维坐标(n个实数),两个实数之间用一个空格隔开。每个实数精确到小数点
后3位。数据保证有解。你的答案必须和标准输出一模一样才能够得分。

Sample Input

2
0.0 0.0
-1.0 1.0
1.0 0.0

Sample Output

0.500 1.500
 
我们可以知道,一个球体上所有点到球心的距离相等,因此只需要求出一个点(x1,x2,x3,...,xn),使得:
                            Σnj=0(ai,j-xj)2=c
其中c是常数,该方程由n+1个n元二次方程构成,不是线性方程组。但我们可以通过相邻的两个方程作差,把它变成n个n元方程,同时消去常数c
于是我们可以得到下面这个阶梯矩阵
2(a1.1-a2.1)    2(a1,2-a2,2)    ...    2(a1,n-a2,n)        Σnj=1(a21,j-a2 2,j)
2(a2.1-a3.1)    2(a2,2-a3,2)    ...    2(a2,n-a3,n)        Σnj=1(a2 2,j-a23,j)
.
.
.
2(an.1-an+1,1) 2(an,2-an+1,2) ... 2(an,n-an+1,n)      Σnj=1(a2n,j-a2n+1,j)                        
高斯消元即可
#include<bits/stdc++.h>
using namespace std; const int maxn=+;
int n;
double a[maxn][maxn],c[maxn][maxn],b[maxn];
int main()
{
scanf("%d",&n);
for (int i=;i<=n+;i++)
for (int j=;j<=n;j++)
scanf("%lf",&a[i][j]);
for (int i=;i<=n;i++)
for (int j=;j<=n;j++)
{
c[i][j]=*(a[i][j]-a[i+][j]);
b[i]+=a[i][j]*a[i][j]-a[i+][j]*a[i+][j];
}
for (int i=;i<=n;i++)
{
for (int j=i;j<=n;j++)
if (fabs(c[j][i])>1e-){
for (int k=;k<=n;k++) swap(c[i][k],c[j][k]);
swap(b[i],b[j]);
}
for (int j=;j<=n;j++){
if (i==j) continue;
double rate=c[j][i]/c[i][i];
for (int k=i;k<=n;k++) c[j][k]-=rate*c[i][k];
b[j]-=rate*b[i];
}
}
for (int i=;i<=n;i++) printf("%.3f ",b[i]/c[i][i]);
return ;
}

               

 
 

BZOJ 球形空间产生器 解题报告(高斯消元)的更多相关文章

  1. bzoj 1013 [JSOI2008]球形空间产生器sphere(高斯消元)

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3584  Solved: 1863[Subm ...

  2. 【BZOJ 1013】球形空间产生器sphere(高斯消元)

    球形空间产生器sphere HYSBZ - 1013 (高斯消元) 原题地址 题意 给出n维的球上的n个点,问原球体球心. 提示 n维球体上两点距离公式\(dist = \sqrt{ (a1-b1)^ ...

  3. 【BZOJ】1013 [JSOI2008]球形空间产生器sphere(高斯消元)

    题目 传送门:QWQ 分析 高斯消元就是个大暴力.... 代码 #include <bits/stdc++.h> using namespace std; ; ; int n; doubl ...

  4. bzoj 1013: [JSOI2008]球形空间产生器sphere【高斯消元】

    n+1个坐标可以列出n个方程,以二维为例,设圆心为(x,y),给出三个点分别是(a1,b1),(a2,b2),(a3,b3) 因为圆上各点到圆心的距离相同,于是可以列出距离方程 \[ (a1-x)^2 ...

  5. 【BZOJ1013】【JSOI2008】球形空间产生器sphere(高斯消元)

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1600  Solved: 860[Submi ...

  6. BZOJ1013 [JSOI2008]球形空间产生器sphere(高斯消元)

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 4846  Solved: 2525[Subm ...

  7. BZOJ1013 JSOI2008 球形空间产生器sphere 【高斯消元】

    BZOJ1013 JSOI2008 球形空间产生器sphere Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点 ...

  8. [luogu4035 JSOI2008] 球形空间产生器 (矩阵 高斯消元)

    传送门 题目描述 有一个球形空间产生器能够在 nnn 维空间中产生一个坚硬的球体.现在,你被困在了这个 nnn 维球体中,你只知道球面上 n+1n+1n+1 个点的坐标,你需要以最快的速度确定这个 n ...

  9. _bzoj1013 [JSOI2008]球形空间产生器sphere【高斯消元】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1013 保存高斯消元模版. ps,这一题的英文名字是ヨスガノソラ的开发商~^_^ #inclu ...

随机推荐

  1. 前端project师养成记:开发环境搭建(Sublime Text必备插件推荐)

    为了让自己更像一个前端project师,决定从开发环境開始武装自己. 本文将介绍前段project师开发的一些利器的安装步骤,主要包含了: 1.Node.js的安装 2.Grunt的安装及经常使用插件 ...

  2. Restful技术

    一.概述 Restful技术是一种架构风格(Representational State Transfer)表现层状态转化,而不是一种编程标准. 之前前后端混在一起,前端通过mapping映射找到后端 ...

  3. JDBC创建mysql连接池代码

    1.底层实现类(DBConnection) package JDBC.JDBCPool.MyJDBCPool; import java.sql.Connection; import java.sql. ...

  4. 上传文件 nginx 413错误

    nginx : 413 Request Entity Too Large 上传文件过程发生413 Request Entity Too Large错误,翻译为请求实体过大,断定为nginx限制了请求体 ...

  5. simple_strtoul()分析

    此函数有以下几点值得注意:1.第一个参数中的const.一般在函数的形参中,如果我们只是希望调用者使用该参数,而不会去改变该参数内容(一般是指针指向的内容),则可以声明为const.2.第二个参数.C ...

  6. 87.node.js操作mongoDB数据库示例分享

    转自:https://www.cnblogs.com/mracale/p/5845148.html 连接数据库   var mongo=require("mongodb"); va ...

  7. Objective-C —内存管理(上)

    内存管理 一.为什么要进行内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 下列行为都会增加一个app的内存占用 创建一个OC对象 定义一个变量 调用一个函数或者方法 内存占用多大 ...

  8. myBatis中Invalid bound statement (not found)错误

    环境:Idea.ssm.maven 由于使用maven的原因,maven不会扫描到mapper的xml文件所以会出现此类问题. 每次走到mapper方法时就抛异常:Invalid bound stat ...

  9. 51nod 1785 数据流中的算法 (方差计算公式)

    1785 数据流中的算法 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 20 难度:3级算法题   51nod近日上线了用户满意度检测工具,使用高级人工智能算法,通过用户访问时间.鼠 ...

  10. jquery.gritter 提示

    首先引入css和js文件 <link rel="stylesheet" href="<%=basePath%>assets/css/jquery.gri ...