社区讨论

警示后人!如果你按第一篇题解写只得5分

P5522[yLOI2019] 棠梨煎雪参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mhj9wc3p
此快照首次捕获于
2025/11/03 23:06
4 个月前
此快照最后确认于
2025/11/03 23:06
4 个月前
查看原帖
那位大佬讲得很清楚,可能是我太弱了看不太懂代码,不过按照其思路写的时候出了点小问题,现已解决,想警示后人:在按位取反的时候如果int直接用~取反会有问题,一方面有符号位捣乱,另一方面,int 共 32 位,如果 n 很小,取反后再 & ,那些前面位全 0 的会变成全 1 ,导致判断?的数量增多。我一开始没注意这个问题,在取反时直接变 -8,每次再右移一位,到了 -1 之后右移一位还是 -1,形成了死循环,导致只过了第一个数据点剩下全 TLE,我的做法是定义一个 inf=(1<<n)-1 ,取反操作就等价于 ^inf ,这样就解决了。

回复

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

正在加载回复...