一道经典的线段树二分应用
题目转化:
把每个点换成斜率,此时发现,一个点能够被看见,当且仅当他本身就是前缀最大值
用线段树维护单点修改,区间询问前缀最大值数量
解题思路:
要点整理:
-
当你怎样都想不到如何在logn时间内维护出当前区间最大时,就要考虑转变状态了
-
充分利用线段树区间合并的特点,尽可能使得线段树的节点不受他的兄弟节点影响
-
灵活使用
把每个点换成斜率,此时发现,一个点能够被看见,当且仅当他本身就是前缀最大值
用线段树维护单点修改,区间询问前缀最大值数量
当你怎样都想不到如何在logn时间内维护出当前区间最大时,就要考虑转变状态了
充分利用线段树区间合并的特点,尽可能使得线段树的节点不受他的兄弟节点影响
灵活使用