Description

给定一个线性方程组,对其求解

Input

第一行,一个正整数 n

第二至 n+1 行,每行 n+1 个整数,为a1,a2⋯an和 b,代表一组方程。1​​,a​2​​⋯a​n​​ 和 bbb,代表一组方程。

Output

共n行,每行一个数,第 i 行为 xi

如果不存在唯一解,在第一行输出"No Solution".

Sample Input

3
1 3 4 5
1 4 7 3
9 3 2 2

Sample Output

-0.97
5.18
-2.39

HINT

aaarticlea/png;base64,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" alt="" />

题解

矩阵变换:
一、交换变换:$R_i<->R_j$,表示将$R_i$与$R_j$的所有元素对应交换
二、倍法变换:$R_i=R_i*k$,表示将$R_i$行的所有元素都乘上一个常数$k$
三、消去变换:$R_i=R_i+R_j*k$,表示将$R_i$行的所有元素对应的加上$R_j$行元素的$k$倍
------------------------------------------------------------------
实数解直接加减消元
整数解消元的时候用最小公倍数消去目标系数
------------------------------------------------------------------
① 无解 当方程中出现$(0, 0, …, 0, a)$的形式,且$a != 0$时,说明是无解的。
② 唯一解 形成了严格的上三角阵
③ 无穷解 不能形成严格的上三角形

 //It is made by Awson on 2017.10.10
#include <set>
#include <map>
#include <cmath>
#include <ctime>
#include <cmath>
#include <stack>
#include <queue>
#include <vector>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#define LL long long
#define Min(a, b) ((a) < (b) ? (a) : (b))
#define Max(a, b) ((a) > (b) ? (a) : (b))
#define sqr(x) ((x)*(x))
using namespace std;
const int N = ; int n;
double a[N+][N+]; void Gauss() {
for (int line = ; line <= n; line++) {
int Max_line = line;
for (int i = line+; i <= n; i++)
if (fabs(a[i][line]) > fabs(a[Max_line][line]))
Max_line = i;
if (Max_line != line) swap(a[line], a[Max_line]);
if (a[line][line] == ) {
printf("No Solution\n");
return;
}
for (int i = line+; i <= n; i++) {
double tmp = a[i][line]/a[line][line];
for (int j = line; j <= n+; j++)
a[i][j] -= a[line][j]*tmp;
}
}
for (int i = n; i >= ; i--) {
for (int j = i+; j <= n; j++)
a[i][n+] -= a[j][n+]*a[i][j];
a[i][n+] /= a[i][i];
}
for (int i = ; i <= n ;i++)
printf("%.2lf\n", a[i][n+]);
}
void work() {
scanf("%d", &n);
for (int i = ; i <= n; i++)
for (int j = ; j <= n+; j++)
scanf("%lf", &a[i][j]);
Gauss();
}
int main() {
work();
return ;
}

[Luogu 3389]【模板】高斯消元法的更多相关文章

  1. [luogu P3384] [模板]树链剖分

    [luogu P3384] [模板]树链剖分 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点 ...

  2. Luogu P2742 模板-二维凸包

    Luogu P2742 模板-二维凸包 之前写的实在是太蠢了.于是重新写了一个. 用 \(Graham\) 算法求凸包. 注意两个向量 \(a\times b>0\) 的意义是 \(b\) 在 ...

  3. luogu P3919 [模板]可持久化数组(可持久化线段树/平衡树)(主席树)

    luogu P3919 [模板]可持久化数组(可持久化线段树/平衡树) 题目 #include<iostream> #include<cstdlib> #include< ...

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

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

  5. Luogu [P3367] 模板 并查集

    [模板]并查集 题目详见:[[P3367][模板]并查集] (https://www.luogu.org/problemnew/show/P3367) 这是一道裸的并查集题目(要不然叫模板呢) 废话不 ...

  6. Luogu P3381 (模板题) 最小费用最大流

    <题目链接> 题目大意: 给定一张图,给定条边的容量和单位流量费用,并且给定源点和汇点.问你从源点到汇点的最带流和在流量最大的情况下的最小费用. 解题分析: 最小费用最大流果题. 下面的是 ...

  7. 51: Luogu 2485 模板

    $des$ 1.给定y.z.p,计算y^z mod p 的值: 2.给定y.z.p,计算满足xy ≡z(mod p)的最小非负整数x: 3.给定y.z.p,计算满足y^x ≡z(mod p)的最小非负 ...

  8. [Luogu] 【模板】点分治1

    // 模板题#include <bits/stdc++.h> ; , head[N], dis[N]; ]; int size[N], maxson[N], Root; bool vis[ ...

  9. luogu P5410 模板 扩展 KMP Z函数 模板

    LINK:P5410 模板 扩展 KMP Z 函数 画了10min学习了一下. 不算很难 思想就是利用前面的最长匹配来更新后面的东西. 复杂度是线性的 如果不要求线性可能直接上SA更舒服一点? 不管了 ...

随机推荐

  1. 【Alpha版本】冲刺阶段 - Day6 - 乘风

    今日进展 袁逸灏:1.实现了碰撞的判定:2.代码规范化:3.解决了项目基本代码.(7h) 刘伟康:补充了上次未完成的任务,即检查代码规范,增加AS规范并整理上传至码云.除此之外,学习了部分 Andro ...

  2. 开启Linux的share

    1.挂载Install  Vmare Tool 2.解压VMwareTools.tar.gz 3.安装share目录 4.shared Folders Enabled 添加共享的目录. 在自己的Unb ...

  3. 遍历JSON

    第一种: each,不做详细说明,太常用了 第二种:我用来遍历单个组,实现前端界面绑定 for(var item in person){ alert("person中"+item+ ...

  4. PHP处理上传文件

    HTML中使用type = 'file'类型的表单可以向服务器上传文件: 上传文件的表单必须在form中定义enctyp = 'multipart/form-data': HTML代码如下: < ...

  5. c#+wpf项目性能优化之OutOfMemoryException解密

    近期,使用c#+wpf开发的软件准备正式投入使用了,使用前进行了大量的测试,测试后发现了一些问题,其中最让人头疼的就是软件的性能问题(稳定性). 这里的稳定性具体表现在机器的cpu占有率和内存使用情况 ...

  6. SpringCloud的Hystrix(二) 某消费者应用(如:ui、网关)访问的多个微服务的断路监控

    一.验证断路保护监控是否管理多个消费者 app 1.第1个消费者应用:访问自己封装rest服务 saleProd 2.第2个消费者应用:第二个应用没有反应 说明 1.每个应用实例的断路保护机制,只对本 ...

  7. SpringCloud的应用发布(四)顺序启动各个应用

    一.部署应用 二.启动应用(注意顺序) 三.观察效果 1.查看进程和日志 ps -ef | grep java tail -f AppYml.txt 2.验证功能

  8. SpringBoot应用的监控与管理

    spring-boot-starter-actuator模块 /health /autoconfig /beans /configprops:应用配置属性信息 /env:环境属性,如:环境变量.jvm ...

  9. Linux CentOS7.0 (02)修改主机名和ip地址

    一.主机名修改 1.查看命令 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty). "静态"主机名也称为内核主机名 ...

  10. django的models模型类的常用数据类型和选项

    django框架的models模块ORM框架,能够让我们通过编写类的方式,帮助我们自动生成数据库表. 生成的数据库表名为 应用模块名称_类名 数据库表中字段名 如果我们没有在参数中指定,就是我们写的类 ...