题目链接:点击查看

题目大意:给出一个线性方程组,求解答案

题目分析:模板题,挂个模板,时间复杂度是 O( n^3 ) 的,其中 a[ 1 ][ 1 ] ~ a[ n ][ n ] 矩阵代表 x[ 1 ] ~ x[ n ] 在每个方程中的系数,a[ 1 ][ n + 1 ] ~ a[ n ][ n + 1 ] 代表的是等号右边的 b

代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<climits>
#include<queue>
#include<map>
#include<set>
#include<sstream>
#include<cassert>
#include<bitset>
using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=110;double a[N][N];int n;bool Gauss()
{for(int i=1;i<=n;++i)//枚举列(项) {int max=i;for(int j=i+1;j<=n;++j)//选出该列最大系数 {if(fabs(a[j][i])>fabs(a[max][i]))//fabs是取浮点数的绝对值的函数{max=j;}}for(int j=1;j<=n+1;++j)//交换{swap(a[i][j],a[max][j]);}if(!a[i][i])//最大值等于0则说明该列都为0,肯定无解 return false;for(int j=1;j<=n;++j)//每一项都减去一个数(就是小学加减消元){if(j!=i){double temp=a[j][i]/a[i][i];for(int k=i+1;k<=n+1;++k){a[j][k]-=a[i][k]*temp;//a[j][k]-=a[j][i]*a[i][k]/a[i][i];}}}}//上述操作结束后,矩阵会变成这样/*k1*a=e1k2*b=e2k3*c=e3k4*d=e4*///所以输出的结果要记得除以该项系数,消去常数for(int i=1;i<=n;++i)a[i][n+1]/=a[i][i];return true;
}int main()
{
#ifndef ONLINE_JUDGE
//  freopen("data.in.txt","r",stdin);
//  freopen("data.out.txt","w",stdout);
#endif
//  ios::sync_with_stdio(false);scanf("%d",&n);for(int i=1;i<=n;i++)for(int j=1;j<=n+1;j++)scanf("%lf",&a[i][j]);if(!Gauss())return 0*puts("No Solution");for(int i=1;i<=n;i++)printf("%.2f\n",a[i][n+1]);return 0;
}

洛谷 - P3389 【模板】高斯消元法(高斯消元解方程)相关推荐

  1. 洛谷 P5027 Barracuda(高斯消元)

    题目链接 Barracuda 题目背景 小正方形的冒险旅途,并不顺利. 一路上,小正方形看到了壮美秀丽的小岛被污染,看到了雄伟壮观的火山,还碰到了许许多多的敌人. 眼下,小正方形正在对付一个巨大的三角 ...

  2. 中石油训练赛 - Molecules(高斯消元解方程)

    题目链接:点击查看 题目大意:笛卡尔坐标系上给出 n 个点,如果点为 ( -1 , -1 ) 说明该点的位置是不确定的,现在给出 m 个相连接的关系, 规定位置不确定的点会被周围相邻的点拉到平均位置上 ...

  3. HDU - 3364 Lanterns(高斯消元解方程(取模))

    题目链接:点击查看 题目大意:给出 n 盏灯和 m 个开关,每个开关可以控制多个灯,每次询问给定灯的最终状态,问有多少种方案可以到达 题目分析:以开关为变元,灯为方程列出方程组,每次求出有多少个自由元 ...

  4. POJ - 2065 SETI(高斯消元解方程(取模))

    题目链接:点击查看 题目大意:给出一个质数作为 mod,再给出一个字符串,每个字母对应着一个数字: ' * ' = 0 ' a ' = 1 ' b ' = 2 ... ' z ' = 26 假设字符串 ...

  5. [AcWing]883. 高斯消元解线性方程组(C++实现)高斯消元解线性方程组模板题

    [AcWing]883. 高斯消元解线性方程组(C++实现)高斯消元解线性方程组模板题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算 ...

  6. 【BZOJ1923】外星千足虫,高斯消元解xor方程组

    Time:2016.08.29 Author:xiaoyimi 转载注明出处谢谢 传送门 思路: 原本以为是高斯消元解取模方程,后来发现这题意不就和异或方程一样吗 [异或(XOR)运算由于与" ...

  7. 第三十四章 数论——高斯消元解线性方程组

    第三十四章 数论--高斯消元解线性方程组 一.高斯消元 1.线性方程组 2.高斯消元步骤 (1)数学知识铺垫 增广矩阵和阶梯矩阵 初等变换 (2)高斯消元步骤 二.代码模板 1.问题: 2.代码 一. ...

  8. HDU 4305 Lightning (高斯消元解kirchhoff矩阵+逆元)

    题意是:给一些坐标点,如果两点之间的距离小于R,并且两点之间没有其他点,则这两个点保持连通,这样构成了一个图.问这个图中生成树的个数. 因为数据量并不大,O(N^3)的建图没有问题. 建好图以后就可以 ...

  9. 高斯消元 AcWing 883. 高斯消元解线性方程组

    高斯消元 AcWing 883. 高斯消元解线性方程组 原题链接 AcWing 883. 高斯消元解线性方程组 算法标签 线性代数 高斯消元 思路 代码 #include<bits/stdc++ ...

最新文章

  1. SAP LSMW 因物料描述里有换行符或者引号导致数据导入失败
  2. PHP7 学习笔记(八)JetBrains PhpStorm 2017.1 x64 MySQL数据库管理工具的使用
  3. laravel 队列queue
  4. 成功解决import win32api, sys, osImportError: DLL load failed: 找不到指定的模块。
  5. Python网络爬虫与信息提取(二):网络爬虫之提取
  6. header中Content-Disposition的作用与使用方法
  7. C语言在二进制搜索树中查找键的successor and predecessor后继和前任(附完整源码)
  8. Linux系统开机启动流程介绍
  9. 选择技术栈构建通用平台
  10. java 三元 代替 if_Java 中三元和 if else 哪个的效率比较高,有底层解释吗,谢谢了!...
  11. mock模拟接口测试 vue_在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟...
  12. Windows系统利用5次shift维权漏洞复现
  13. Python疑难问题:「」与list()哪个快?为什么快?
  14. CSS 如何让 height:100%;起作用
  15. 智能算法——遗传算法原理、应用汇总
  16. .NET反编译工具:de4dot
  17. MINA框架客户端的使用
  18. pandas处理df函数及plt绘图函数(作业总结笔记待补充...)
  19. 技术岗-网上测评智力题
  20. ThingJS 和three.js对比开发太空漫游技术!3D 可视化

热门文章

  1. 从用户观点对计算机如何分类,从用户的观点看操作系统是
  2. php如何修改xml中element值,php修改xml节点的值
  3. Nacos分布式应用配置管理
  4. 一致性hash算法原理
  5. leader选举的源码分析-quorumPeer.createElectionAlgorithm
  6. LocaleResolver
  7. Bootstrap全局css样式_辅助类
  8. Java int -1无符号右移_java中的无符号右移
  9. 3. Longest Substring Without Repeating Characters无重复字符的最长子串
  10. Push rejected: Push to origin/master was rejected