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. Flask 学习 十六 部署

    部署流程 manage.py 部署命令 每次安装升级只需运行deploy命令即可完成操作 @manager.command def deploy(): """执行部署任务 ...

  2. APP手机端加载不到资源服务器后台解决参考

    今天发现app登录时,报could not get resource,日志中打印的是redis相关的错误,于是开始一步步检查错误! 后台架构:redis+mysql+elk+tomcat+zookee ...

  3. windows安装tensorflow简单直接的方法(win10+pycharm+tensorflow-gpu1.7+cuda9.1+cudnn7.1)

    安装tensorflow-gpu环境需要:python环境,tensorflow-gpu包,cuda,cudnn 一,安装python,pip3直接到官网下载就好了,下载并安装你喜欢的版本 https ...

  4. JAVA 中的 反射

    CLASS类 1) 在面向对象的世界里,万事万物皆对象. 在java中有两样东西不是面向对象 1.普通的数据类型(java中有封装类来弥补它) 2. java中静态的东西 2) 类是对象吗? 类是对象 ...

  5. 使用freemaker 导出word 含多张图片,若无图片则显示文本信息

    1.使用的Microsoft Office 2007,添加一个无边框的表格,并插入一张图片,最后另存为编码utf-8,一开始保存的word xml格式的,图片的base64编码位于文档最后,暂时没有找 ...

  6. 阿里云API网关(11)API的三种安全认证方式

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  7. python CSS

    CSS 一. css的四种引入方式   1.行内式  2.嵌入式  3. 链接式 将一个.css文件引入到HTML文件中 1 <link href="mystyle.css" ...

  8. Python 爬虫基础知识

    requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作, ...

  9. Windows10下的docker安装与入门 (三) 创建自己的docker镜像并且在容器中运行它

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  10. spark分区数,task数目,core数,worker节点个数,excutor数量梳理

    作者:王燚光链接:https://www.zhihu.com/question/33270495/answer/93424104来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...