求助,高斯消元的N种写法

P2455 [SDOI2006] 线性方程组

文芷 @ 2018-06-16 21:12:36

1.题解第一篇写法

j从1开始枚举

AC

if(fabs(a[i][i])>=eps){
            for(int j=1;j<=n;j++){
                if(i!=j){
                    double t=a[j][i]/a[i][i];
                    for(int k=1;k<=n+1;k++){
                        a[j][k]-=t*a[i][k];
                    }
                }
            }
        }

2.先把自己那行系数化成1

 if(fabs(a[i][i])<=eps)continue;
        for(int j=i+1;j<=n+1;j++){
            a[i][j]/=a[i][i];
        }
        a[i][i]=1;//化简该行
        for(int j=i+1;j<=n;j++){
            for(int k=i+1;k<=n+1;k++){
                a[j][k]-=a[j][i]*a[i][k];
            }
            a[j][i]=0;
        }

80

3.j 从 i+1 k从 i开始枚举

for(int j=i+1;j<=n;j++){
            for(int k=i+1;k<=n+1;k++){
                a[j][k]-=a[j][i]*a[i][k];
            }
            a[j][i]=0;
        }

60

什么鬼

有dalao能提供常数小的写法... 求QAQ


by Parabola @ 2018-06-16 21:29:35

楼主的ID。。

然而我更喜欢墨小菊

就当我是来水贴的吧


by Lance1ot @ 2018-11-06 09:22:05

菊线好啊


|