HNOI2022 树上问题

考点

  • 基环树
  • 树链剖分
  • 树上DP
  • 树上分治

点分治

NOTE
1.分治前求dep的时候忘记dep[rt]=0

流程1(适用于计数等容易去重的)

  • 找根
  • 处理过当前根到子树内的路径(加入根到根的路径,用两条到根的路径合并)
  • 去掉不合法(统计同一个子树出来到当前根的两条路径),继续分治

流程2(适用于最优化等难以去重的)

  • 找根
  • 类似树型DP,一个子树一个子树处理经过当前点的路径
  • 分治下去

trick

  1. \(BIT\) ,对路径长度 \(\le\) k的路径计数 P4178 Tree
  2. 树上路径二维偏序,用流程一搞出所有路径,然后按一维排序,另一维用 \(BIT\) 做二维偏序即可。
  3. 一些利用点分治来移动最优点的题,要注意对 vis[v] 的判断 P4886 快递员
posted @ 2021-12-17 22:21  Lumos壹玖贰壹  阅读(53)  评论(0编辑  收藏  举报