Loading docs/ds/persistent-seg.md +2 −2 Original line number Diff line number Diff line Loading @@ -34,8 +34,8 @@ 那么至此,该问题解决!(完结撒花) 关于空间问题,我们分析一下:由于我们是动态开点的,所以一棵线段树只会出现 $2n-1$ 个结点。 然后,有 $n$ 次修改,每次增加 $\log{n}$ 个结点。那么最坏情况结点数会达到 $2n-1+n\log{n}$ ,那么此题的 $n \leq 10^5$ ,通过计算得到 $\lceil\log_2{10^5}\rceil = 17$ 。 那么把 $n$ 和 $\log$ 的结果代入这个式子,变成 $2\times 10^5-1+17\times 10^5$ ,忽略掉 $-1$ ,大概就是 $19\times 10^5$ 。 然后,有 $n$ 次修改,每次至多增加 $\lceil\log_2{n}\rceil+1$ 个结点。因此,最坏情况下 $n$ 次修改后的结点总数会达到 $2n-1+n(\lceil\log_2{n}\rceil+1)$ 。 此题的 $n \leq 10^5$ ,单次修改至多增加 $\lceil\log_2{10^5}\rceil+1 = 18$ 个结点,故 $n$ 次修改后的结点总数为 $2\times 10^5-1+18\times 10^5$ ,忽略掉 $-1$ ,大概就是 $20\times 10^5$ 。 最后给一个忠告:千万不要吝啬空间!保守一点,直接上个 $2^5\times 10^5$ ,接近原空间的两倍(即 `n << 5` )。 (较真的同学请注意,如果你真的很吝啬,可以自己造个数据输出一下结点数量,但是如果数据没造好把自己卡掉了就~~尴尬了~~赖你了) Loading Loading
docs/ds/persistent-seg.md +2 −2 Original line number Diff line number Diff line Loading @@ -34,8 +34,8 @@ 那么至此,该问题解决!(完结撒花) 关于空间问题,我们分析一下:由于我们是动态开点的,所以一棵线段树只会出现 $2n-1$ 个结点。 然后,有 $n$ 次修改,每次增加 $\log{n}$ 个结点。那么最坏情况结点数会达到 $2n-1+n\log{n}$ ,那么此题的 $n \leq 10^5$ ,通过计算得到 $\lceil\log_2{10^5}\rceil = 17$ 。 那么把 $n$ 和 $\log$ 的结果代入这个式子,变成 $2\times 10^5-1+17\times 10^5$ ,忽略掉 $-1$ ,大概就是 $19\times 10^5$ 。 然后,有 $n$ 次修改,每次至多增加 $\lceil\log_2{n}\rceil+1$ 个结点。因此,最坏情况下 $n$ 次修改后的结点总数会达到 $2n-1+n(\lceil\log_2{n}\rceil+1)$ 。 此题的 $n \leq 10^5$ ,单次修改至多增加 $\lceil\log_2{10^5}\rceil+1 = 18$ 个结点,故 $n$ 次修改后的结点总数为 $2\times 10^5-1+18\times 10^5$ ,忽略掉 $-1$ ,大概就是 $20\times 10^5$ 。 最后给一个忠告:千万不要吝啬空间!保守一点,直接上个 $2^5\times 10^5$ ,接近原空间的两倍(即 `n << 5` )。 (较真的同学请注意,如果你真的很吝啬,可以自己造个数据输出一下结点数量,但是如果数据没造好把自己卡掉了就~~尴尬了~~赖你了) Loading