建议撤下所有说倍增分块的底取 log 的题解
查看原帖
建议撤下所有说倍增分块的底取 log 的题解
174045
FZzzz楼主2023/2/21 10:39

错误题解害人不浅。

O(nblognlogbn)O(nb\log n\log_bn)(看作 nnmm 同阶,logn\log nloga\log a 同阶)这个式子是怎么看出来 bbO(logn)O(\log n) 最优的啊?你算算 b=O(logn)b=O(\log n) 的话复杂度是不是 O(nlog3nloglogn)O\left(\dfrac{n\log^3n}{\log\log n}\right) 将近三个 log 了,肯定取 b=2b=2 复杂度才是 O(nlog2n)O(n\log^2n) 啊。

听说当时有些选手写这题的时候把 bb 开的比较大是因为 b=2b=2 空间开不下,把 bb 开大一点时间换空间玄学卡过去了,不知道为什么会被误解成 bbO(logn)O(\log n)。但是现在这种卡空间也被卡掉了,只有 O(n)O(n) 空间才能过,那你为什么 bb 还要开这么大呢。

至于空间,讨论区其实已经有人提到你把线段树换成平衡树空间就直接 O(n)O(n) 了,不需要什么在 log 分块上建线段树的操作。然而平衡树的常数有点离谱,你大概会被卡飞。

2023/2/21 10:39
加载中...