警示后人
数组大小
可以这样理解:
考虑最坏的情况,1e5 次的操作,每次差分 4 次修改;如果每次都新开点,需要开 ⌈log105⌉+1=16 个点;如果这个树退化成一条链,则需要进行 1e5 次合并,同样每次最坏开 16 个点。设 N=105, 不难得出我们开 16×4N+16N=80N 才是最保险的。
当然,事实上肯定不可能有这么坏,真这么坏可能就要考虑下出题人和自己的 rp 了, 所以大概开 N<<5 是可以滴。
或者线段树合并和动态开点线段树应该空间复杂度是多少,请 dalao 指教!!!
线段树区间
不管村庄 n 是多少,救济粮种类始终是 1e5 种,所以最大的线段树节点区间应该始终为 [1,105]!!!