求助高斯消元
  • 板块灌水区
  • 楼主Neutralized
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/4/4 21:23
  • 上次更新2023/10/28 04:35:29
查看原帖
求助高斯消元
538609
Neutralized楼主2022/4/4 21:23


刚才vp的ABC235 D题结论推错了
所以就上高斯消元了
所以就罚了11发 人干裂开了

所以是怎么卡掉的,脑子糊了一时不明白(

db a[1001],c[1001];
db b[1001];
db d[1001][1001];
#define eps 1e-18
inline int signal(db x){
	if(abs(x)<=eps) return 0;
	return x>eps?1:-1;
}
inline void gauss(ll N){
	for(ri i=0;i<=N;++i){
		int id=-1;
		for(ri j=0;j<=N;++j)
		if(signal(d[j][i])){
			id=j;
			break;
		}
		if(id==-1) continue;
		if(id!=i)
		swap(d[id],d[i]);
		for(ri j=0;j<=N;++j){
			if(j==i) continue;
			register db t=(d[j][i]/d[i][i]);
			for(ri k=0;k<=N+1;++k)
			d[j][k]-=t*d[i][k];
		}
	}
	for(ri i=0;i<=m;++i)
	cout<<(signal(d[i][N+1]/d[i][i])?d[i][N+1]/d[i][i]:0)<<' ';
}
2022/4/4 21:23
加载中...