社区讨论
此题RE的同学注意了!!
P5490【模板】扫描线 & 矩形面积并参与者 16已保存回复 15
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 15 条
- 当前快照
- 1 份
- 快照标识符
- @lodeig93
- 此快照首次捕获于
- 2023/10/31 05:17 2 年前
- 此快照最后确认于
- 2023/11/06 20:38 2 年前
本人RE,结果数组开了10倍就A掉了。。
原因:本人代码:
CPPconst int g=200005,h=800005;
表示数组范围。
错误代码:
CPPif(s<<1|1<h)
d[s]=d[s<<1]+d[s<<1|1];
else d[s]=0;
判断一下当前节点s有没有儿子。(叶子结点没有儿子。但是叶子结点的s<<1|1可能超过数组边界,要特判)
但是!我经过长时间查错后发现:|的优先级竟然比<还要低!(本来以为<优先级很低的。。)
于是:干脆改成:
CPPif(l==r) d[s]=0;
else d[s]=d[s<<1]+d[s<<1|1];
这样更加简单便捷,还不容易出错。
https://baike.baidu.com/item/%E8%BF%90%E7%AE%97%E7%AC%A6%E4%BC%98%E5%85%88%E7%BA%A7/4752611?fr=aladdin
运算符优先级一定要搞清楚!强烈建议背会!!
回复
共 15 条回复,欢迎继续交流。
正在加载回复...