社区讨论

警示后人经典错误

P1856[IOI 1998 / USACO5.5] 矩形周长 Picture参与者 2已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@mmgf8lf2
此快照首次捕获于
2026/03/07 22:31
15 小时前
此快照最后确认于
2026/03/08 13:24
3 分钟前
查看原帖
请你注意,不要一次把所有贡献都加到线段树里,这会导致扫一遍的同时就把两个都应该贡献的东西抵消了。
正确的做法是先加入正贡献并计算答案,再加入负贡献计算答案。
例如:
CPP
    for (int i=1;i<=sz;++i){
        for (auto j:g1[i])sgt.modify(1,1,sz-1,j.l,j.r,j.t);
        ans+=abs(sgt.len[1]-last);
        last=sgt.len[1];
        for (auto j:g2[i])sgt.modify(1,1,sz-1,j.l,j.r,j.t);
        ans+=abs(sgt.len[1]-last);
        last=sgt.len[1];
    }
应该不算讨论区题解吧。

回复

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

正在加载回复...