关于我写错ls, rs定义却AC的这件事

P3372 【模板】线段树 1

Charlie查理 @ 2022-11-18 09:08:55

做别的题时写线段树,正常是这么写的:

#define ls (i << 1)
#define rs (i << 1 | 1)

然而我当时写错了,发现这样也能AC:

#define ls (mid << 1)
#define rs (mid << 1 | 1)

不是很明白原理,求分析qwq


by optimize_2 @ 2022-11-18 21:11:15

我用线段树一测出来一样快(快了 1ms 忽略不计)

mid:

https://www.luogu.com.cn/record/94494720

x:

https://www.luogu.com.cn/record/94494364


by StarLbright40 @ 2022-11-22 09:29:43

线段树的内存访问本来也不连续吧


by Resolute_Faith @ 2022-11-24 15:45:24

https://www.luogu.com.cn/record/95006220

https://www.luogu.com.cn/record/95270130

我草,真的可以


by Resolute_Faith @ 2022-11-24 15:46:21

@Charlie查理 谢谢老哥。


by Xdik @ 2022-11-28 19:20:11

那么我们将它命名为“查理线段树”


by CarroT3434 @ 2023-01-17 13:01:41

涨知识嘞


by DYYqwq @ 2023-01-20 09:53:44

@Charlie查理 洛!谷!查!理!线!段!树!


by Colinxu2020 @ 2023-04-23 10:51:14

也许能阻止一些毒瘤出题人卡线段树


by DE_aemmprty @ 2023-05-27 12:12:50

查理线段树(乐)


by 红火恍惚cxy @ 2023-06-16 19:34:15

感谢这帖子让我发现自己对线段树的空间开销一直有误解 orz
学到新写法了


上一页 | 下一页