警钟长鸣
查看原帖
警钟长鸣
527070
XiaoZi_qwq楼主2024/7/2 23:41

如果出现如果下的测试结果(40pts): https://www.luogu.com.cn/record/163762021

请检查你是否在暴力部分对使用的数组清零,如下所示

if(q[i].l/sz==q[i].r/sz){
  for(int j=q[i].l;j<=q[i].r;j++) st[a[j]]=0;
  ans1=0;
  for(int j=q[i].l;j<=q[i].r;j++){
    if(st[a[j]]==0) st[a[j]]=j;
    ans1=max(ans1,j-st[a[j]]);
  }
  q[i].ans=ans1;
  for(int j=q[i].l;j<=q[i].r;j++) st[a[j]]=0;//就是这一行
  continue;
}
2024/7/2 23:41
加载中...