链接:

https://www.luogu.org/problem/P3389

题意:

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

思路:

高斯消元,从第一项消到最后一项,消成一个上三角矩阵.再从最后一项依次向上回带.

在消每一项的时候找到系数最大的一项开始消,将其系数置位1,再向下消,具体做法百度太多了.

代码:

#include <bits/stdc++.h>
using namespace std; double Map[110][110];
double ans[110];
double eps = 1e-7;
int n; bool Guess()
{
for (int i = 1;i <= n;i++)
{
int ml = i;
for (int j = i+1;j <= n;j++)
{
if (fabs(Map[ml][i]) < fabs(Map[j][i]))
ml = j;
}
if (fabs(Map[ml][i]) < eps)
return false;
if (ml != i)
swap(Map[ml], Map[i]);//换行
double div = Map[i][i];
for (int j = i+1;j <= n+1;j++)
Map[i][j] /= div;//讲要消的列系数变为1
for (int j = i+1;j <= n;j++)
{
div = Map[j][i];//消的值对应系数
for (int k = i;k <= n+1;k++)
Map[j][k] -= div*Map[i][k];//消元
}
}
ans[n] = Map[n][n+1];
//回带
for (int i = n-1;i >= 1;i--)
{
ans[i] = Map[i][n+1];
for (int j = i+1;j <= n;j++)
ans[i] -= (Map[i][j]*ans[j]);
}
} int main()
{
scanf("%d", &n);
for (int i = 1;i <= n;i++)
{
for (int j = 1;j <= n+1;j++)
scanf("%lf", &Map[i][j]);
}
if (Guess())
{
for (int i = 1;i <= n;i++)
printf("%.2lf\n", ans[i]);
}
else
printf("No Solution"); return 0;
}

洛谷-P3389-高斯消元模板的更多相关文章

  1. 洛谷P3389 高斯消元 / 高斯消元+线性基学习笔记

    高斯消元 其实开始只是想搞下线性基,,,后来发现线性基和高斯消元的关系挺密切就一块儿在这儿写了好了QwQ 先港高斯消元趴? 这个算法并不难理解啊?就会矩阵运算就过去了鸭,,, 算了都专门为此写个题解还 ...

  2. 【Luogu】P3389高斯消元模板(矩阵高斯消元)

    题目链接 高斯消元其实是个大模拟qwq 所以就着代码食用 首先我们读入 ;i<=n;++i) ;j<=n+;++j) scanf("%lf",&s[i][j]) ...

  3. 高斯消元模板!!!bzoj1013

    /* 高斯消元模板题 n维球体确定圆心必须要用到n+1个点 设圆心坐标(x1,x2,x3,x4...xn),半径为C 设第i个点坐标为(ai1,ai2,ai3,,,ain)那么对应的方程为 (x1-a ...

  4. HDU 3359 高斯消元模板题,

    http://acm.hdu.edu.cn/showproblem.php?pid=3359 题目的意思是,由矩阵A生成矩阵B的方法是: 以a[i][j]为中心的,哈曼顿距离不大于dis的数字的总和 ...

  5. Luogu P3389 高斯消元

    https://www.luogu.com.cn/problem/P3389 主元消元法[模板] 高斯消元是解决多元线性方程组的方法,再学习它之前,先引入一个东西--行列式 行列式的性质: 这里我们只 ...

  6. 高斯消元模板(pascal)

    洛谷P3389评测 program rrr(input,output); const eps=1e-8; var a:..,..]of double; n,i,j,k:longint; t:doubl ...

  7. 【转】高斯消元模板 by kuangbin

    写的很好,注释很详细,很全面. 原blog地址:http://www.cnblogs.com/kuangbin/archive/2012/09/01/2667044.html #include< ...

  8. kuangbin大佬的高斯消元模板

    dalao解释的博客 #include <bits/stdc++.h> using namespace std; ; int a[MAXN][MAXN];//增广矩阵 int x[MAXN ...

  9. java高斯消元模板

    //package fuc; import java.io.PrintStream; import java.math.BigInteger; import java.util.Scanner; pu ...

随机推荐

  1. ElasticSearch - activemq - tomcat 开机自启动

    [root@qwy ~]# cat /etc/init.d/elastisearch|grep -v '^#' export JAVA_HOME=/usr/local/java/jdk1..0_172 ...

  2. java—字符串比较忽略大小写

    String A = "aaa";String B = "AAA"; A.equalsIgnoreCase(B)

  3. [Python3 练习] 011 利用异常解题

    目录 函数式编程 Functional Programming 1. 简介 2. 函数 3. 匿名函数 3.1 lambda 表达式也称"匿名函数" 3.2 lambda 表达式的 ...

  4. Java基础(十)

    复习 静态方法与成员方法 //另一个类里的静态和成员方法 public class MyClass { //静态方法 public static void method2() { System.out ...

  5. GitHub从小白到熟悉<二>

    创建 仓库  

  6. Django 模版语法与使用

    目录 Django 模版语法与使用 django模板语言介绍 (摘自官方文档) 链接 什么是模板? 模板语句的 注释 变量 {{ 变量 }} 点(.)在模板语言中有特殊的含义,用来获取对象的相应属性值 ...

  7. Oracle 服务名/实例名,Service_name 和Sid的区别

    Service_name 和Sid的区别Service_name:该参数是由oracle8i引进的.在8i以前,使用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个 ...

  8. Chromium浏览器启动参数

    序号 参数 说明1 --allow-outdated-plugins 不停用过期的插件.2 --allow-running-insecure-content 默认情况下,https 页面不允许从 ht ...

  9. MySQL两种内核对比

    MySQL内核 https://blog.csdn.net/baichoufei90/article/details/83504446 关键字:全文索引 索引外置 两种内核:MyISAM 和InnoD ...

  10. yii自定义验证

    自定义验证类 class BaseModel extends Model { public function rules() { return [ ['obj', ContentSecurityVal ...