正解:高斯消元

解题报告:

链接!

原本的式子是$\sum (a_i-x_i)^2=r^2$.发现是平方式根本不可做.

考虑拆式子之后变形,就会变成$2\cdot a_1\cdot x_1+2\cdot a_2\cdot x_2+..+2\cdot a_n\cdot x_n+({x_1}^2+{x_2}^2+...+{x_n}^2)=r^2-\sum {a_i}^2$

然后把这个$({x_1}^2+{x_2}^2+...+{x_n}^2)$看作一个新的未知数就好

好巧不巧的是它又刚好给的n+1个式子你就可以用它求出我们的n+1个未知数辣!(巧个屁,明明就是被出题人安排得明明白白

然后就放代码!完美结束$yep$!

#include<bits/stdc++.h>
using namespace std;
double a[][],inf=1e-,t[][];int w[];bool pd[];
long long read()
{
char ch=getchar();long long x=;bool y=;
while((ch!='-') && (ch>'' || ch<''))ch=getchar();
if(ch=='-')y=,ch=getchar();
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=getchar();
return y?x:-x;
}
void gsxy(int n)
{
for(int i=;i<=n;i++)
{
double mx=;int p=;
for(int j=;j<=n;j++)if(fabs(a[j][i])-inf>mx && pd[j]==)mx=fabs(a[j][i]),p=j;
w[i]=p;
pd[p]=;
for(int j=;j<=n;j++)
if(j!=p){double t=(double)a[j][i]*1.0000/a[p][i];for(int k=;k<=n+;k++)a[j][k]-=(double)t*a[p][k];}
}
for(int i=;i<n;i++)printf("%.3lf ",a[w[i]][n+]*1.00000/a[w[i]][i]);
}
int main()
{
int n=read();
for(int i=;i<=n+;i++)
{
for(int j=;j<=n;j++){scanf("%lf",&a[i][j]);a[i][n+]-=a[i][j]*a[i][j],a[i][j]*=-2.0;}
a[i][n+]=;
}
gsxy(n+);
return ;
}

这儿是代码

洛谷P4035 球形空间产生器 [JSOI2008] 高斯消元的更多相关文章

  1. 【Luogu】P4035球形空间产生器(高斯消元)

    题目链接 水比题,把圆方程展开减一下把平方都减掉半径的平方也减掉,高斯消元即可. 然后我只输出两位小数,爆了两次零.我好菜啊. #include<cstdio> #include<c ...

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

    [BZOJ1013]球形空间产生器(高斯消元) 题面 Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球 面上n+1个点的坐标, ...

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

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

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

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/Judg ...

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

    [JSOI2008]球形空间产生器 \(solution:\) 非常明显的一道高斯消元.给了你n+1个球上的位置,我们知道球上任何一点到球心的距离是相等,所以我们 可以利用这一个性质.我们用n+1个球 ...

  6. lydsy1013: [JSOI2008]球形空间产生器sphere 高斯消元

    题链:http://www.lydsy.com/JudgeOnline/problem.php?id=1013 1013: [JSOI2008]球形空间产生器sphere 时间限制: 1 Sec  内 ...

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

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

  8. 【BZOJ 1013】【JSOI2008】球形空间产生器sphere 高斯消元基础题

    最基础的高斯消元了,然而我把j打成i连WA连跪,考场上再犯这种错误就真的得滚粗了. #include<cmath> #include<cstdio> #include<c ...

  9. 【BZOJ1013】[JSOI2008] 球形空间产生器(高斯消元)

    点此看题面 大致题意: 给定一个\(n\)维球体上的\(n+1\)个点,请你求出这个球体的圆心的位置. 列出方程 这一看就是一道解方程题. 我们可以设这个球体的圆心的位置为\((x_1,x_2,..x ...

随机推荐

  1. MySQL 安装与配置

    Linux 安装 MySQL Windows 安装 MySQL 如何连接 MySQL 如何修改 MySQL 密码 如何重置 MySQL 密码

  2. linux下getsockopt和setsockopt详解及测试

    linux下getsockopt和setsockopt详解及测试 NAME 名字 getsockopt, setsockopt - get and set options on sockets 获取或 ...

  3. STL——空间配置器(SGI-STL)

    一. 空间配置器标准接口 参见<STL源码剖析>第二章-2.1.<memory>文件. 二.具备次配置力的SGI空间配置器 1. SGI STL的配置器与众不同,也与标准规范不 ...

  4. No.4 PyQt学习(页面跳转)

    先定义了两个MainWindow进行跳转,但发现这样的话,从第二个Window无法跳转会第一个.代码如下: # -*- coding: utf-8 -*- import sys from PyQt4. ...

  5. Foxmail邮箱最新应用指南 --如何使用「邮件标签」?

    Foxmail邮箱最新应用指南--如何使用「邮件标签」? 最近看到很多的朋友收发电子邮件,现在我们帮助讲解下foxmail的标签功能,可以帮助我们整理我们的邮箱,让重要信息浮出水面. 1.鼠标右键邮件 ...

  6. RH318之域控服务器

    Windows2012域控服务器 一.安装域服务及DNS 1.配置静态IP 2.点击左下角 3.进入--->服务器管理器 4.点击角色和功能 勾选Active Directory域服务与DNS服 ...

  7. Qt+imx6编写的楼宇对讲管理平台

    第一个初步版本. 1:楼宇对讲模块.住户报警模块.门禁控制模块.系统设置模块. 2:实时对讲信息卡片式展示,通话记录表格展示. 3:设备面板展示,实时显示上下线报警等信息. 4:设备查询.记录查询.运 ...

  8. sencha touch 视图(view) activate与deactivate事件探讨

    在sencha touch2.2中采用card布局 之前的需求是考虑show,hide事件发现不可取 http://www.cnblogs.com/mlzs/archive/2013/06/13/31 ...

  9. ELK系列三:Elasticsearch的简单使用和配置文件简介

    1.定义模板创建索引: 首先定义好一个模板的例子 { "order":14, "template":"ids-1", "state ...

  10. WinDbg基于管道的虚拟机Kernel Debugging

    Windows Server 2012 + Hyper-V调试Windows XP SP3 32-bit虚拟机. 1.Hyper-V选中虚拟机,设置COM port,Named pipe定义一个名字. ...