数据结构 2
树上分块。
第一种是随机撒点,在树上随机撒 个点,关键点间期望距离不超过 。优势很明显,当 取根号的时候,可以处理出所有关键点间的信息,然后跳根号次就可以跳出一条路径。这个做题的方法很可洞见。
第二种是王室联邦式分块,方法是,在 dfs 过程中将子树大小能够划到一块的就划,设 为阈值,则每块大小为 ,块个数 左右。优势是每个点最近的为关键点的祖先的距离为 。这个做题的方法也是处理出关键点的信息,然后将询问拆成 ,其中 , 分别是 , 的最近关键点祖先。
第三种是 top cluster,我显然不会。
本文作者:𝒸𝒾𝓇𝓃ℴ𝓋𝓈𝓀𝓎
本文链接:https://www.cnblogs.com/orchid-any/p/16553728.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步