高斯消元
2018-01-02 15:59
183 查看
高斯消元是解决解一些线性方程求解的问题,可以在O(n3)的时间内跑出答案。具体方法有两种:
1. 经典的高斯消元:
这个就像一般的解方程的步骤,将未知数一个一个消去,然后只剩下一个未知数时就可以直接算出。而且我们注意到,有第一次消元后有n−1个式子,第二次后有n−2个…第n−1次消元有2个式子,所以我们得到最后一个方程的答案后再回代。这样子,还要注意一点就是每次尽量选择数大一些的消去,避免误差。2. 高斯.若尔当消元:
类似于高斯消元,但是最后是消出n个只有一个未知数的式子。省去了回代,但是常数要大一些。具体方法是先像一般的高斯消元一样消成上三角矩阵,然后针对某一列i,将除了i的全部消去。这一步实际上可以与高消一起进行。代码如下:(参照zcysky)
bool gauss(){ for(int i=1;i<=n;i++){ int bbb8 k=i; for(int j=i+1;j<=n;j++)if(fabs(a[j][i])>fabs(a[k][i]))k=j; if(fabs(del=a[k][i])<eps)return 0; for(int j=i;j<=n+1;j++)swap(a[i][j],a[k][j]); for(int j=i;j<=n+1;j++)a[i][j]/=del; for(k=1;k<=n;k++)if(k!=i){ del=a[k][i]; for(int j=i;j<=n+1;j++)a[k][j]-=a[i][j]*del; } } return 1; }
相关文章推荐
- poj -- 3185 The Water Bowls(高斯消元)
- poj1830(高斯消元)
- hdu4870 Rating (高斯消元或者dp)
- [高斯消元] poj 1753 Flip Game
- POJ 1753 Flip Game(枚举变元的高斯消元)
- 学习笔记----高斯消元(一)
- POJ 1166 The Clocks 高斯消元 + exgcd(纯属瞎搞)
- uva 1560 - Extended Lights Out(枚举 | 高斯消元)
- 高斯消元模板(转)
- BZOJ 2728 HNOI2012 与非 高斯消元
- POJ 1830 开关问题 高斯消元
- POJ 1222 EXTENDED LIGHTS OUT 高斯消元解异或方程组
- poj 2065 SETI(数学:高斯消元)
- [数论] 高斯消元(整型和浮点型)
- 【高斯消元】【poj 1830】开关问题
- HDU 4326 Game 概率DP 高斯消元
- hdu-4818-RP problem(高斯消元)
- SGU 275 To xor or not to xor (高斯消元)
- 【BZOJ3503】【Cqoi2014】和谐矩阵 高斯消元,解异或方程组
- 【高斯消元】【异或方程组】poj1222 EXTENDED LIGHTS OUT