进食后人,0pts原因小汇总

P4168 [Violet] 蒲公英

DWT8125 @ 2024-08-03 15:34:40

  1. 不删调试(
  2. 未在原数组离散化(玄学原因,具体原理未知)
  3. 细细检查一下你的每个循环变量的类型(块 or 编号),以及同类变量是否使用正确。例如所枚举的 i 和 j 都是块编号,结果循环内把 j 块的写成 i
    //处理 i 块到 j 块的众数 
    for(int i=1;i<=t;i++){
    ...
    for(int j=i;j<=t;j++){
        z[i][j]=z[i][j-1]; //4、 
    //      for(int k=l[i];k<=r[i];k++){ false
        for(int k=l[j];k<=r[j];k++){ //true
            bu[a[k]]++;
            if(bu[a[k]]>bu[z[i][j]]||(bu[a[k]]==bu[z[i][j]]&&a[k]<z[i][j])) //5、 
                z[i][j]=a[k];
        }
    }
    }

    4.如上所示,处理 i 块到 j 块的众数时不继承 i 块到 j-1 块的结果

5.如上所示,处理众数时不考虑“编号最小”

6.输出和加密时的答案是离散化前的!!!切记!!!

7.分块边界处理出错

8.下标写反维度

9.选错语言


by Augensterm @ 2024-08-05 09:52:14

又要进食人,可怕


|