球形空间产生器 bzoj 1013 高斯消元
来源:互联网 发布:在淘宝退款卖家不同意 编辑:程序博客网 时间:2024/06/05 15:07
题目大意
给出n维空间中给出n+1个点的坐标,求出球心坐标。
分析
设球心坐标为(x1,x2,x3…xn)
那么就有
(a1-x1)^2+(a2-x2)^2+…(an-xn)^2=r^2
(b1-x1)^2+(b2-x2)^2+…(bn-xn)^2=r^2
….
只要拿后n个方程分别去减第一个方程,就可以得到n个一次方程了
2*(a1-b1)x1+2*(a2-b2)x2+…..+2(an-bn)xn=a1^2-b1^2+a2^2-b2^2….an^2-bn^2
…
高斯消元即可
code
#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;double x[1000];int n;double b[1000];double a[1000][1000];double y[1000];int main(){ scanf("%d",&n); for (int j=1;j<=n;j++) cin>>y[j]; for (int i=2;i<=n+1;i++) { for (int j=1;j<=n;j++) { double xx; cin>>xx; a[i-1][j]=2*(xx-y[j]); b[i-1]+=(xx*xx)-(y[j]*y[j]); } } for (int i=1;i<=n;i++) { double maxx=fabs(a[i][i]); int k=i; double c=0; for (int j=i+1;j<=n;j++) if (fabs(a[j][i])>maxx) { maxx=fabs(a[j][i]); k=j; } for (int j=1;j<=n;j++) { c=a[i][j]; a[i][j]=a[k][j]; a[k][j]=c; } c=b[i]; b[i]=b[k]; b[k]=c; for (int j=1;j<=n;j++) { if ((j==i)||(!a[j][i])) continue;\ double t=a[i][i]/a[j][i]; for (int l=1;l<=n;l++) a[i][l]/=t; b[i]/=t; b[j]-=b[i]; for (int l=1;l<=n;l++) a[j][l]-=a[i][l]; } } for (int i=1;i<=n;i++) x[i]=b[i]/a[i][i]; for (int i=1;i<n;i++) { printf("%.3f ",x[i]); } printf("%.3f",x[n]); }
阅读全文
1 0
- BZOJ 1013 球形空间产生器 高斯消元
- 球形空间产生器 bzoj 1013 高斯消元
- BZOJ 1013 球形空间产生器sphere 高斯消元
- 【BZOJ】1013 球形空间产生器
- BZOJ 1013, 球形空间产生器
- BZOJ 1013 JSOI2008 球形空间产生器sphere 高斯消元
- BZOJ 1013: [JSOI2008]球形空间产生器sphere 高斯消元
- 【高斯消元模板】【bzoj 1013】: [JSOI2008]球形空间产生器sphere
- [省选前题目整理][BZOJ 1013]球形空间产生器sphere(高斯消元)
- BZOJ 1013: [JSOI2008]球形空间产生器sphere 高斯消元
- [BZOJ 1013] JSOI 2008 球形空间产生器sphere · 高斯消元
- BZOJ 1013 球形空间产生器sphere(高斯消元浮点型)
- 【高斯消元】【JSOI 2008】【bzoj 1013】球形空间产生器sphere
- 【高斯消元】BZOJ 1013: [JSOI2008]球形空间产生器sphere
- BZOJ-1013 球形空间产生器sphere 高斯消元+数论推公式
- 【BZOJ 1013】 [JSOI2008]球形空间产生器sphere|高斯消元
- bzoj 1013: [JSOI2008]球形空间产生器sphere(高斯消元)
- 【bzoj 1013】 [JSOI2008] 球形空间产生器sphere(高斯消元)
- 第五章
- 使用Python抓取欧洲足球联赛数据
- Android终端命令:使用mount命令以读写方式重新挂载/system分区
- c++学习笔记
- 新手表选择
- 球形空间产生器 bzoj 1013 高斯消元
- CSS设置网页背景
- HDFS 架构
- 如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)
- 正则表达式基本语法
- 神奇的阿基米德螺线
- 行内元素,块级元素,void空元素
- 51nod 1149 Pi的递推式
- iOS-Quartz2D