在 C++ 中,负整数除以正整数是 向上取整 而非向下取整,因此 x / 2 需要用 x >> 1 代替。
x / 2
x >> 1
我用的动态开点线段树,求值域 mid 的时候一开始用的 / 2 于是 MLE 了一个点。别的写法可能也有类似问题?警钟长鸣。
mid
/ 2