【题解】P4069 [SDOI2016]游戏

题目描述

Alice 和 Bob 在玩一个游戏。

游戏在一棵有 n 个点的树上进行。最初,每个点上都只有一个数字,那个数字是 123456789123456789

有时,Alice 会选择一条从 st 的路径,在这条路径上的每一个点上都添加一个数字。对于路径上的一个点 r,若 rs 的距离是 dis,那么 Alice 在点 r 上添加的数字是 a×dis+b

有时,Bob 会选择一条从 st 的路径。他需要先从这条路径上选择一个点,再从那个点上选择一个数字。

Bob 选择的数字越小越好,但大量的数字让 Bob 眼花缭乱。Bob 需要你帮他找出他能够选择的最小的数字。

题解

将加值拆解为一上一下两条路径,发现每条路径上是加上一条和深度有关的一次函数。
于是可以树链剖分,李超线段树维护一下最值。
考虑李超线段树维护一次函数最值。
注意:李超线段树不是凸包。

代码咕咕咕

posted @   flywatre  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示