题目链接

  水比题,把圆方程展开减一下把平方都减掉半径的平方也减掉,高斯消元即可。

  然后我只输出两位小数,爆了两次零。我好菜啊。

  

#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cctype>
#include<cstring>
#include<cmath>
#define maxn 20
#define eps 1e-9
using namespace std; double s[maxn*maxn][maxn];
double q[maxn][maxn]; double ans[maxn]; int main(){
int n;
scanf("%d",&n);
for(int i=;i<=n+;++i)
for(int j=;j<=n;++j) scanf("%lf",&q[i][j]);
int m=;
for(int i=;i<=n;++i)
for(int j=i+;j<=n+;++j){
double *c=s[++m];
for(int k=;k<=n;++k){
c[k]=*(q[i][k]-q[j][k]);
c[n+]+=q[i][k]*q[i][k]-q[j][k]*q[j][k];
}
}
//for(int i=1;i<=m;++i,printf("\n"))
// for(int j=1;j<=n+1;++j) printf("%.2lf ",s[i][j]);
for(int i=;i<=n;++i){
int now=i;
for(int j=i+;j<=m;++j)
if(fabs(s[j][i])-fabs(s[now][i])>eps) now=j;
if(now^i) swap(s[i],s[now]);
double ret=s[i][i];
for(int j=i;j<=n+;++j) s[i][j]=s[i][j]/ret;
for(int j=i+;j<=m;++j){
ret=s[j][i];
for(int k=;k<=n+;++k) s[j][k]=s[j][k]-s[i][k]*ret;
}
}
ans[n]=s[n][n+];
//for(int i=1;i<=m;++i,printf("\n"))
// for(int j=1;j<=n+1;++j) printf("%.2lf ",s[i][j]);
for(int i=n-;i;--i){
ans[i]=s[i][n+];
for(int j=i+;j<=n;++j) ans[i]=ans[i]-ans[j]*s[i][j];
}
for(int i=;i<=n;++i) printf("%.3lf ",ans[i]);
return ;
}

【Luogu】P4035球形空间产生器(高斯消元)的更多相关文章

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

    题目描述 有一个\(n\)维空间中的球,告诉你球面上\(n+1\)个点的坐标,求球心的坐标. \(n\leq 10\) 题解 设\(a_{i,j}\)为第\(i\)个点的第\(j\)维坐标,\(i=0 ...

  2. BZOJ.1013.[JSOI2008]球形空间产生器(高斯消元)

    题目链接 HDU3571 //824kb 40ms //HDU3571弱化版 跟那个一比这个太水了,练模板吧. //列出$n+1$个二次方程后两两相减,就都是一次方程了. #include <c ...

  3. LG4035/BZOJ1013 「JSOI2008」球形空间产生器 高斯消元

    问题描述 LG4035 BZOJ1013 题解 设答案为\((p_1,p_2,p_3,...,p_n)\) 因为是一个球体,令其半径为\(r\),则有 \[\sum_{i=1}^{n}{(a_i-p_ ...

  4. luogu P2962 [USACO09NOV]灯Lights 高斯消元

    目录 题目链接 题解 题目链接 luogu P2962 [USACO09NOV]灯Lights 题解 可以折半搜索 map合并 复杂度 2^(n / 2)*logn 高斯消元后得到每个点的翻转状态 爆 ...

  5. 【Luogu】P3317重建(高斯消元+矩阵树定理)

    题目链接 因为这个专门跑去学了矩阵树定理和高斯消元qwq 不过不是很懂.所以这里只放题解 玫葵之蝶的题解 某未知dalao的矩阵树定理 代码 #include<cstdio> #inclu ...

  6. luogu 3389 【模板】高斯消元

    大概就是对每一行先找到最大的减小误差,然后代入消元 #include<iostream> #include<cstdio> #include<cstring> #i ...

  7. Luogu P2455 [SDOI2006]线性方程组 真•高斯消元板子

    果然如Miracle学长所说...调了一天...qwq..还是过不了线下的Hack upd after 40min:刚刚过了 就是多了一个判无解的操作... 当系数都为0,且常数项不为0时,即为无解. ...

  8. 洛谷P4035 [JSOI2008]球形空间产生器(高斯消元)

    洛谷题目传送门 球啊球 @xzz_233 qaq 高斯消元模板题,关键在于将已知条件转化为方程组. 可以发现题目要求的未知量有\(n\)个,题目却给了我们\(n+1\)个点的坐标,这其中必有玄机. 由 ...

  9. 洛谷P4035 球形空间产生器 [JSOI2008] 高斯消元

    正解:高斯消元 解题报告: 链接! 昂开始看到以为是,高斯消元板子题? 开始很容易想到的是,虽然是多维但是可以类比二维三维列出式子嘛 但是高斯消元是只能处理一元问题的啊,,,辣怎么处理呢 对的这就是这 ...

随机推荐

  1. UVA 1615 Highway 高速公路 (区间选点)

    题意:在一条线段上选出尽量少的点,使得和所有给出的n个点距离不超过D. 分别计算出每个点在线段的满足条件的区间,然后就转化成了区间选点的问题了,按照右端点排序,相同时按照左端点排序,按照之前的排序一定 ...

  2. thisnkphp添加二维码

    Rcode二维码生成类QRcode.class.php实例演示 <?php //import('@.Org.QRcode');//thinkphp include_once('QRcode.cl ...

  3. Lemonade Trade

    4990: Lemonade Trade 时间限制: 1 Sec  内存限制: 128 MB  Special Judge提交: 88  解决: 17[提交][状态][讨论版][命题人:admin] ...

  4. HTML_6 (表单应用)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. CPP-基础:虚函数表

    虚函数表 对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的.简称为V-Table.在这个表中,主是要一个类的虚函数的地址表 ...

  6. Java的日期类和日期格式化类

    日期类: Date date = new Date(); // 获取当前的系统时间 2 System.out.println("年份:"+ date.getYear()); Cal ...

  7. ssh整合思想 Spring与Hibernate和Struts2的action整合 调用action添加数据库 使用HibernateTemplate的save(entity)方法 update delete get 等方法crud操作

    UserAction类代码: package com.swift.action; import com.opensymphony.xwork2.ActionSupport; import com.sw ...

  8. iOS与JS相互传值与交互

    JavaScriptCore是webkit的一个重要组成部分,主要是对JS进行解析和提供执行环境.iOS7后苹果在iPhone平台推出,极大的方便了我们对js的操作.我们可以脱离webview直接运行 ...

  9. logging console not work

    配置 log 信息传输到控制台 参考官网:https://docs.djangoproject.com/en/2.1/topics/logging/ By default, this config o ...

  10. Java微信公众号开发----关键字自动回复消息

    在配置好开发者配置后,本人第一个想要实现的是自动回复消息的功能,说明以下几点: 1. url 仍然不变,还是开发配置里的url 2. 微信采用 xml 格式传输数据 3.微信服务器传给我们的参数主要有 ...