题目链接: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. 【原创】PHP扩展开发进阶

    PHP扩展开发进阶 ​作者:wf (360电商技术) 在第一期PHP扩展开发入门中,简单的介绍了PHP的总体架构和执行机制,并具体说明了怎样开发和编译一个主要的PHP扩展,最后在PHP 5.3的环境下 ...

  2. Codeforce 163 A. Substring and Subsequence DP

    A. Substring and Subsequence   One day Polycarpus got hold of two non-empty strings s and t, consist ...

  3. QMutex“A mutex must be unlocked in the same thread that locked it”解决(在run里创建对象是不二法宝)

    多线程时出现如下警告信息: A mutex must be unlocked in the same thread that locked it: 原因可能有二: 1.创建QMutex不在当前线程: ...

  4. yolo源码解析(2):处理图片

    首先安装ffmpeg, 参考https://blog.csdn.net/lwgkzl/article/details/77836207 然后将视频切分为图片, 参考:https://zhuanlan. ...

  5. JAVA设计模式之【桥接模式】

    桥接模式 蜡笔中颜色和型号之间存在耦合 毛笔中,颜色和型号解耦了 如果软件系统中某个类存在两个独立变化的维度,桥接模式可以将两个维度分离出来 角色 抽象类 扩充抽象类 实现类接口 提供基本操作 抽象类 ...

  6. ThinkPHP5.0框架开发--第10章 TP5.0验证器

    ThinkPHP5.0框架开发--第10章 TP5.0验证器 第10章 TP5.0验证器 ======================================= 今日学习 1.验证器 1) 控 ...

  7. Oracle 数据泵使用详解--精华版

    数据泵使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端 ...

  8. Oracle11g数据库导入Oracle10g数据库操作笔记

    一.在11g服务器上,使用expdp命令备份数据 EXPDP USERID='SYS/sys@daggis as sysdba' schemas=oa directory=DATA_PUMP_DIR ...

  9. springboot shiro 多realm配置认证、授权

    shiro进行登录认证和权限管理的实现.其中需求涉及使用两个角色分别是:门店,公司.现在要两者实现分开登录.即需要两个Realm——MyShiroRealmSHOP和MyShiroRealmCOMPA ...

  10. hexo创建的tags和categories页面为空的解决办法

    title: hexo创建的tags和categories页面为空的解决办法 toc: false date: 2018-04-16 02:26:10 主题:landscape 添加type以及men ...