求助一道关于树上路径的题的优化
  • 板块学术版
  • 楼主cslover
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/8/16 09:25
  • 上次更新2023/11/3 03:28:08
查看原帖
求助一道关于树上路径的题的优化
516109
cslover楼主2023/8/16 09:25

题目是说,给出一棵树上的若干条路径,每个路径有一个权值,要求选出若干条不相交的路径,使权值和最大。

做法是,令 fif_i 表示以 ii 为根的子树里的所有路径中选择的最大权值和。每次考虑要么没有任何路径经过 ii,要么对于以 ii 为 LCA 的路径,选择相当于删除这条路径上所有的点,整个子树被拆成一个森林,统计这些森林的答案再加上这次选择路径的权值即可。

这个做法的瓶颈是上面说的每次选择一条路径之后“删点”的过程。时间复杂度是 O(nm)O(nm) 的。似乎是可以通过 DFS 序+树状数组优化到 O(n+mlog⁡n)O(n+m\log n)。

不是很懂具体是怎么优化的,求大佬教教/kel

2023/8/16 09:25
加载中...