基环树dp

应用:

遇到每一个点 只会有一个方向作用到其他点, 这样产生的图形就是 一个 基环树深林 

通常解决方法: 利用树形dp把除去环的值更新出来, 然后在对这个环经行处理即可

模板题:

一共有 � 个岛,每个岛都有一条出边,且该图是无向图,因为桥是可以双向行走的。给定桥的长度,即两点之间的边权。同时每对岛屿间存在一艘专用渡船,即每两点间可以相互到达。现你需选择一起始点,每个点最多经过 1 次,问所能获得的边权和最大为多少。

 

思路:

  • 先对除去环外的点树形dp
  • 然后环的处理, 在dp(单调队列优化dp(更具dp的转移式子))
  • 2点的距离利用前缀和处理, 对于一个环(正向和逆向2个前缀和处理即可)

 

posted @ 2023-06-19 20:44  VxiaohuanV  阅读(34)  评论(0编辑  收藏  举报