Exeabow_sky
点分治
树上路径统计或最优化。(无根树)
找重心,分别考虑子树,标 vis。复杂度 O(nlogn)
路径合并信息。
对于较多次的查询可以用点分树;或离线,一次点分治处理完。
[CSP-S2022 T4]
也可点分治。
对于 k=2,对链在点分治中维护信息,离线;对分治中心 h,对两子树中点 a,b,做 like-DP,在一次 DFS 中算出,再算出答案。
但对于 k=3 呢?稍微预处理一下,做细节上的处理。
边分治
同样是找重心。但要做一些特殊处理,加入一些 0 权边与虚点(转二叉树)。
感觉不如点分治
长链剖分
x 的子树中距离 x 距离为 d 的个数。长剖优化 DP。
jrjyy
开区间线段树
ST 表
std::__lg 很快,不用预处理。
topo
反图 dfs 的出栈序为 topo 序。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】