- 不删调试(
- 未在原数组离散化(玄学原因,具体原理未知)
- 细细检查一下你的每个循环变量的类型(块 or 编号),以及同类变量是否使用正确。例如所枚举的 i 和 j 都是块编号,结果循环内把 j 块的写成 i
for(int i=1;i<=t;i++){
...
for(int j=i;j<=t;j++){
z[i][j]=z[i][j-1];
for(int k=l[j];k<=r[j];k++){
bu[a[k]]++;
if(bu[a[k]]>bu[z[i][j]]||(bu[a[k]]==bu[z[i][j]]&&a[k]<z[i][j]))
z[i][j]=a[k];
}
}
}
4.如上所示,处理 i 块到 j 块的众数时不继承 i 块到 j-1 块的结果
5.如上所示,处理众数时不考虑“编号最小”
6.输出和加密时的答案是离散化前的!!!切记!!!
7.分块边界处理出错
8.下标写反维度
9.选错语言