警示后人
查看原帖
警示后人
821939
zhi_hui_kan_ti_jie楼主2023/5/18 15:19

这道题斜率卡精度。如果你这样求斜率:

inline double X(int i) { 
return (double)-s[i];
}
inline double Y(int i) { 
return (double)g[i] - s[i]*s[i]; 
}
inline double cal(int i, int j) { 
if (s[i] == s[j])   return -1e18; 
return (Y(i) - Y(j)) / (X(i) - X(j)); 
}

就会wa两个点。 要过的话得这样写

double cal(int i, int j) {
	if (s[i] == s[j]) return -1e18;
	return 1.0*((g[i] - s[i] * s[i]) - (g[j] - s[j] * s[j])) / (s[j] - s[i]);
}
2023/5/18 15:19
加载中...