Gauss消元模板
const double eps = 1e-;
//高斯消元模板
//-----------------------------------------------------------------------------------
//把对应得系数矩阵化为对角矩阵,然后直接回代即可
const int maxn=+;
const int maxm=+;
//a为增广矩阵,ans为一组特解,n为未知数个数,free_x[i]=false表示该变量为自由变量
double a[maxn][maxm],ans[maxn];
int n;
bool free_x[maxn];
int Gauss(){
int res=,r=;
for(int i=;i<n;i++) free_x[i]=false;
for(int i=;i<n;++i){
for(int j=r;j<n;++j) //寻找该列中不等于0的元素,然后交换行
if(fabs(a[r][i])>eps) {
for(int k=i;k<=n;++k){
swap(a[j][k],a[r][k]);
break;
}
}
if(fabs(a[r][i])<eps) { //该列中元素全为0,自由变元增加一
++res;continue;
}
for(int j=;j<n;++j){//用第r列将该列其他元素全部化为0
if(j!=r&&fabs(a[r][i])>eps){
double tmp=a[j][i]/a[r][i];
for(int k=i;k<=n;++k)
a[j][k]-=tmp*a[r][k];
}
}
free_x[i]=true;++r;
}
for(int i=;i<n;++i)
if(free_x[i]) {
for(int j=;j<n;++j)
if(fabs(a[j][i])>eps) ans[i]=a[j][n]/a[j][i];
}
return res;
}
//-----------------------------------------------------------------------------------
Gauss消元模板的更多相关文章
- POJ 1830 开关问题(Gauss 消元)
开关问题 Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 7726 Accepted: 3032 Description ...
- Gauss 消元(模板)
/* title:Gauss消元整数解/小数解整数矩阵模板 author:lhk time: 2016.9.11 没学vim的菜鸡自己手打了 */ #include<cstdio> #in ...
- $Gauss$消元
$Gauss$消元 今天金牌爷来问我一个高消的题目,我才想起来忘了学高消... 高斯消元用于解线性方程组,也就是形如: $\left\{\begin{matrix}a_{11}x_1+a_{12}x_ ...
- 高斯消元模板!!!bzoj1013
/* 高斯消元模板题 n维球体确定圆心必须要用到n+1个点 设圆心坐标(x1,x2,x3,x4...xn),半径为C 设第i个点坐标为(ai1,ai2,ai3,,,ain)那么对应的方程为 (x1-a ...
- 求一个n元一次方程的解,Gauss消元
求一个n元一次方程的解,Gauss消元 const Matrix=require('./Matrix.js') /*Gauss 消元 传入一个矩阵,传出结果 */ function Gauss(mat ...
- hdu 5755(Gauss 消元) &poj 2947
Gambler Bo Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Tota ...
- poj 1681(Gauss 消元)
Painter's Problem Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5875 Accepted: 2825 ...
- HDU 3359 高斯消元模板题,
http://acm.hdu.edu.cn/showproblem.php?pid=3359 题目的意思是,由矩阵A生成矩阵B的方法是: 以a[i][j]为中心的,哈曼顿距离不大于dis的数字的总和 ...
- POJ1830开关问题——gauss消元
题目链接 分析: 第一个高斯消元题目,操作是异或.奇偶能够用0.1来表示,也就表示成bool类型的方程,操作是异或.和加法没有差别 题目中有两个未知量:每一个开关被按下的次数(0.1).每一个开关的转 ...
随机推荐
- HTML页面缓存
引出问题: 在做完一个项目迭代上线的时候遇到一个问题:Ht代码部署在nginx里面,当我打包的H5代码上传把之前代码替换掉之后,如果手机端之前有打开过相关的页面,那么在代码上传成功后再次打开,回出现一 ...
- new function 到底做了什么?如何自己实现new function
前言 这是继function 与 Function 关系后写下的. 写这个起源于,我无聊的时候看到一道题目: 'foo' == new function() { var temp=String('fo ...
- Mysql 字符串转数字类型
使用场景: 在数据库中进行数字比较,但是数字的存储格式是varchar的时候可以使用以下方法进行转换,然后进行比较 方法一:SELECT CAST('123' AS SIGNED); 方法二:SELE ...
- 查看deepin操作系统版本命令
cat /proc/version cat /etc/debian_version cat /etc/os-release lsb_release -a uname -a uname -r sc ...
- C#XML文件操作随笔
以为公司一直没有电源屏厂家协议解析为DevVars相关的软件,手写费时费力还容易出错,用了2天时间做了一个.txt协议文件筛选加并解析成xml文件的工具,总结一下用到的几个知识点 1.LINQ 是一个 ...
- 10.python内置模块之os模块
os模块的作用:os 模块提供了非常丰富的方法用来处理文件和目录(管理和维护目录以及文件). os.path模块的作用:主要用于获取文件的属性(管理路径的(物理地址)). 小生总结了一些平时常用到的属 ...
- akka设计模式系列-消息模型(续)
在之前的akka设计模式系列-消息模型中,我们介绍了akka的消息设计方案,但随着实践的深入,发现了一些问题,这里重新梳理一下设计方法,避免之前的错误.不当的观点给大家带来误解. 命令和事件 我们仍然 ...
- 【python基础语法】第7天作业练习题
import keyword ''' # 第一题:简单题 1.什么是全局变量? 2.什么是局部变量? 3.函数内部如何修改全局变量(如何声明全局变量 )? 4.写出已经学过的所有python关键字,分 ...
- 在阿里云服务器上安装mysql及重置密码
参考链接:https://www.cnblogs.com/ljysy/p/10324854.html 下载与安装MySQL: 这里采用Yum管理好了各种rpm包的依赖,能够从指定的服务器自动下载RPM ...
- JS笔记之第一天
JavaScript:简称JS JS的原名不是JavaScript,而是LiveScript JS分为三个部分 1.ECMAScript 标准→JS的基本的语法 2.DOM——Document Ob ...