写了两个本来是高斯消元的题
P3232
P3389
但实际上蒟蒻记不住高斯消元的流程,就胡了个代入消元,然后看起来正确性没什么问题
然后翻看下代码感觉两种方式复杂度几乎一样,但个人觉得代入消元好理解得多,那为什么不能用代入消元代替高斯消元(雾),大概就是每次把第 i 行钦定成 b+k1f1+..+0fi+..+knfn=fi 的形式,然后向下代
附代码(f[i][0] 表示第 i 行的常数项)
inline bool solve(){
	for(rint i=1;i<=n;++i){
		double x=-f[i][i];
		f[i][i]=0;
		for(rint j=0;j<=n;++j)
			f[i][j]/=x;
		for(rint j=i+1;j<=n;++j){
			double y=f[j][i];
			f[j][i]=0;
			for(rint k=0;k<=n;++k)
				f[j][k]+=y*f[i][k];
		}
	}
	for(rint i=1;i<=n;++i)
		if(f[n][i]!=0)
			return false;
	for(rint i=n;i>=1;--i){
		for(rint j=i+1;j<=n;++j){
			double x=f[i][j];
			f[i][j]=0;
			f[i][0]+=x*f[j][0];
		}
	}
	return true;
}