部分题解时间复杂度错误,达到了 O(n3),导致无法通过下面的 hack。
更加令人气愤的是,部分题解的时间复杂度为 O(n3),却还要在题解中“标榜”自己的时间复杂度无限趋近于 O(n2),误导后人。
错误题解:
https://www.luogu.com.cn/article/j335sv51
https://www.luogu.com.cn/article/kmuj5ioa
hack 数据,即矩阵右下角的四分之一全部为 1,其余全部为 0。(正确输出结果为 2×106)
hack 数据生成代码:
#include<bits/stdc++.h>
using namespace std;
int n=2000,a[2010][2010];
int main(){
freopen("hack.in","w",stdout);
for(int i=1001;i<=2000;i++){
for(int j=1001;j<=2000;j++){
a[i][j]=1;
}
}
printf("%d\n",n);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
printf("%d",a[i][j]);
if(j!=n) printf(" ");
}
printf("\n");
}
freopen("hack.out","w",stdout);
printf("2000000\n");
}