Longest Path (牛客多校) (换根DP+斜率优化)

发布时间 2023-06-15 15:57:31作者: VxiaohuanV

换根dp:

  • 第一次dfs 处理儿子点的权值
  • 第二次dfs 处理 父亲点,和兄弟节点的权值
  • 处理兄弟节点的时候, 利用父亲节点统一处理, 利用stl存储

斜率优化:

  • 为什么会用到斜率优化: 在遇到转移式子是 fi x fj 的时候, 不是分开的, (分开的,直接用单调队列处理) (通常会遇到平方式子)
  • 把i 和 j 的式子分开, 然后 抽象成x y
  • 然后通过题意: 求max, 就是向上的凸包, 求min 就是向下的 凸包
  • 然后要找的那个点利用二分去找就可以了, 找斜率第一个比他大..小的点就可以了
  •  注意开long double

题目大意:

  • 给一个树,给出树的边权,  问每一个节点的最大值
  •  

思路:

  • 换根DP+斜率优化