警示后人:关于数组大小和线段树区间
查看原帖
警示后人:关于数组大小和线段树区间
765446
MichaelWong楼主2023/5/19 18:57

警示后人

数组大小

可以这样理解:

考虑最坏的情况,1e5 次的操作,每次差分 4 次修改;如果每次都新开点,需要开 ⌈log⁡105⌉+1=16\lceil \log 10^5 \rceil +1 =16 个点;如果这个树退化成一条链,则需要进行 1e5 次合并,同样每次最坏开 1616 个点。设 N=105, N=10^5,\ 不难得出我们开 16×4N+16N=80N16 \times 4N + 16N = 80 N 才是最保险的。

当然,事实上肯定不可能有这么坏,真这么坏可能就要考虑下出题人和自己的 rp 了, 所以大概开 N<<5 是可以滴。

或者线段树合并和动态开点线段树应该空间复杂度是多少,请 dalaodalao 指教!!!

线段树区间

不管村庄 nn 是多少,救济粮种类始终是 1e5 种,所以最大的线段树节点区间应该始终为 [1,105][1,10^5]!!!

2023/5/19 18:57
加载中...