关于 hack
查看原帖
关于 hack
270532
Kyo1337楼主2023/4/17 19:02

首先是 @lgvc 的 hack

3
1 2 3 4
4 5 6 7
7 8 9 10

可以说是一个确实的无唯一解的方程且没有被一些题解判断出来。

再说这个题的题解。甚至这里还有使用随机化过题的题解,似乎随机化并不是高斯 / 高斯约旦消元判断解的情况的一部分。

个人认为大部分 hack 指向的事实其实是,我们不能用同一个方程去消多个元,但是如果我们因此只允许 [i,n][i, n] 中的方程消除元 xix_i,又会导致又可能只有先前一个 ak,k=0,k<ia_{k,k} = 0,k<i 的方程 kk 使得 ak,ia_{k,i} 有值从而无法正确处理。

所以一种正确的做法应该类似最后一篇题解那样,把这样的尚未用来消除任何元但是编号更小的行也纳入考虑。个人采用了一个 vis 数组来记录行的使用。

最后扫描一遍无解再扫描一遍无穷多解即可。当然应该有很多其他做法也是对的。

2023/4/17 19:02
加载中...