题意:

给你一个方程组(含有12个方程),求(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11)

方程组的形式是一个二次方程组

(ai1-x1)^2 + (ai2-x2)^2 +(ai3-x1)^2 + (ai4-x2)^2 +(ai5-x1)^2 + (ai6-x2)^2 +(ai7-x1)^2 + (ai8-x2)^2 + (ai9-x2)^2 +(ai10-x1)^2 + (ai11-x2)^2 = dis ^2

题解:

二次方程组每个展开之后,每个和上一个相减,就可以得到11个线性方程。

这题就是高斯消元求解普通线性方程的模版题啦。

我的模版:

 void gauss(int n)
{
int i,j,k,l,r;
double f;
for(i=;i<=n;i++)
{
r=i;
for(j=i+;j<=n;j++)
if(myabs(a[j][i])>myabs(a[r][i])) r=j;
if(r!=i) for(j=;j<=n+;j++) swap(a[i][j],a[r][j]); for(j=n+;j>=i;j--)//逆序枚举可以避免用变量保存a[k][i]/a[i][i],避免精度损失
for(k=i+;k<=n;k++)
a[k][j]-=a[k][i]/a[i][i] * a[i][j];
} for(i=n;i>=;i--)
{
for(j=i+;j<=n;j++)
a[i][n+]-=a[j][n+]*a[i][j];
a[i][n+]/=a[i][i];
}
}

代码:

 #include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std; const int N=;
double a[N][N],b[N][N],c[N]; double myabs(double x){return x> ? x:-x;} void output()
{
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
printf("%.2lf ",a[i][j]);
printf("\n");
}
printf("\n");
} void gauss(int n)
{
int i,j,k,l,r;
double f;
for(i=;i<=n;i++)
{
r=i;
for(j=i+;j<=n;j++)
if(myabs(a[j][i])>myabs(a[r][i])) r=j;
if(r!=i) for(j=;j<=n+;j++) swap(a[i][j],a[r][j]); for(j=n+;j>=i;j--)//逆序枚举可以避免用变量保存a[k][i]/a[i][i],避免精度损失
for(k=i+;k<=n;k++)
a[k][j]-=a[k][i]/a[i][i] * a[i][j];
} for(i=n;i>=;i--)
{
for(j=i+;j<=n;j++)
a[i][n+]-=a[j][n+]*a[i][j];
a[i][n+]/=a[i][i];
}
for(i=;i<=n-;i++) printf("%.2lf ",a[i][n+]);
printf("%.2lf\n",a[n][n+]);
} int main()
{
int T;
scanf("%d",&T);
while(T--)
{
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
scanf("%lf",&b[i][j]);
scanf("%lf",&c[i]);
}
memset(a,,sizeof(a));
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
a[i][j]=b[i][j]-b[i+][j];
}
a[i][]=c[i+]*c[i+]-c[i]*c[i];
for(int j=;j<=;j++)
a[i][]+=b[i][j]*b[i][j]-b[i+][j]*b[i+][j];
a[i][]/=;
}
// output();
gauss();
}
return ;
}

【zoj3645】高斯消元求解普通线性方程的更多相关文章

  1. 【poj2947】高斯消元求解同模方程组【没有AC,存代码】

    题意: p start enda1,a2......ap (1<=ai<=n)第一行表示从星期start 到星期end 一共生产了p 件装饰物(工作的天数为end-start+1+7*x, ...

  2. 【poj1830-开关问题】高斯消元求解异或方程组

    第一道高斯消元题目~ 题目:有N个相同的开关,每个开关都与某些开关有着联系,每当你打开或者关闭某个开关的时候,其他的与此开关相关联的开关也会相应地发生变化,即这些相联系的开关的状态如果原来为开就变为关 ...

  3. POJ 1222 POJ 1830 POJ 1681 POJ 1753 POJ 3185 高斯消元求解一类开关问题

    http://poj.org/problem?id=1222 http://poj.org/problem?id=1830 http://poj.org/problem?id=1681 http:// ...

  4. POJ 1830 开关问题(高斯消元求解的情况)

    开关问题 Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 8714   Accepted: 3424 Description ...

  5. POJ 2065 高斯消元求解问题

    题目大意: f[k] = ∑a[i]*k^i % p 每一个f[k]的值就是字符串上第 k 个元素映射的值,*代表f[k] = 0 , 字母代表f[k] = str[i]-'a'+1 把每一个k^i求 ...

  6. 【poj1222-又一道开关问题】高斯消元求解异或方程组

    题意:给出一个5*6的图,每个灯泡有一个初始状态,1表示亮,0表示灭.每对一个灯泡操作时,会影响周围的灯泡改变亮灭,问如何操作可以使得所有灯泡都关掉. 题解: 这题和上一题几乎完全一样..就是要输出解 ...

  7. hdu 5833 Zhu and 772002 高斯消元

    Zhu and 772002 Problem Description Zhu and 772002 are both good at math. One day, Zhu wants to test ...

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

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

  9. HDU4870_Rating_双号从零单排_高斯消元求期望

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4870 原题: Rating Time Limit: 10000/5000 MS (Java/Other ...

随机推荐

  1. 软工实践原型设计——PaperRepositories

    软工实践原型设计--PaperRepositories 写在前面 本次作业链接 队友(031602237吴杰婷)博客链接 pdf文件地址 原型设计地址(加载有点慢...) 结对成员:031602237 ...

  2. 理解BitSet

    先来看几道面试题: 1.统计40亿个数据中没有出现的数据,将40亿个不同数据进行排序. 2.现在有1千万个随机数,随机数的范围在1到1亿之间,要求写出一种算法,将1到1亿之间没有在随机数中的数求出来. ...

  3. Httpd主配置文件httpd.conf 详解

    Apache的主配置文件:/etc/httpd/conf/httpd.conf默认站点主目录:/var/www/html/Apache服务器的配置信息全部存储在主配置文件/etc/httpd/conf ...

  4. Kafka Strem

    Overview Concepts Topology Time States Window Hopping time windows Tumbling time windows Sliding win ...

  5. New API

    New API Producer >增加发送回调 >重构Partition 统一High Level API与Low Level API >从kafka.consumer和kafka ...

  6. ErrorUnable to tunnel through proxy. Proxy returns HTTP1.1 400 Bad Reques

    导入项目的时候,一般会出现这种错误,因为我们的gradle版本,不对,所以默认AS导入后,回去下载你需要的gradle,所以很慢, 先打开:项目路径底下的\gradle\wrapper\gradle- ...

  7. get computer system mac info in javascript

    get computer system mac info in javascript Q: how to using js get computer system mac information? A ...

  8. 前端基础:CSS属性操作

    CSS属性操作 1.文本 文本颜色:color,颜色属性被用来设置文字的颜色,颜色是通过CSS经常指定的,其格式有: 1.十六进制:#FF0000: 2.RGB值:RGB(255,0,0): 3.颜色 ...

  9. Python爬取B站视频信息

    该文内容已失效,现已实现scrapy+scrapy-splash来爬取该网站视频及用户信息,由于B站的反爬封IP,以及网上的免费代理IP绝大部分失效,无法实现一个可靠的IP代理池,免费代理网站又是各种 ...

  10. 字符串构造的dp 【bzoj1009 &bzoj1030】

    1009: [HNOI2008]GT考试 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 4305  Solved: 2637 [Submit][Sta ...