社区讨论

警示后人(如果你 WA on #7)

CF1458F Range Diameter Sum参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m6ur6klc
此快照首次捕获于
2025/02/07 20:39
去年
此快照最后确认于
2025/11/04 09:47
4 个月前
查看原帖
如果你的双指针部分写法形如
CPP
while(k<=r&&!pre[k].inc(suf[i]))
{
    add(ro,0,pre[k].n,1);
    k++;
}
while(j<=r&&suf[i].inc(pre[j]))
{
    add(ro,0,pre[j].n,-1);
    j++;
}
那么如果出现 sufi=preksuf_i = pre_k 的情况,jj 就会移动到 kk 后面。因此改成
CPP
while(k<=r&&!pre[k].inc(suf[i]))
{
    add(ro,0,pre[k].n,1);
    k++;
}
while(j<k&&suf[i].inc(pre[j]))
{
    add(ro,0,pre[j].n,-1);
    j++;
}
就行了。

回复

1 条回复,欢迎继续交流。

正在加载回复...