社区讨论
警示后人经典错误
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 条回复,欢迎继续交流。
正在加载回复...