题意略去. 考虑给定的R对pair(A, B). 即A能看见B,这意味着B不比A低,并且区间内部的所有元素的高度严格小于A的高度. 我们规定区间的方向:若A > B,为反方向,反之称为正方向. 容易发现,区间在同一方向上不交叉,即要么相离,要么相互包含. 在相反反方向上,若两区间不相互包含,必定是有且仅有一个公共区间端点. 首先将所有idx上的高度默认设置为H. 对于相离的区间,他们之间的计算是独立的. 考虑相互包含的区间,先考虑范围最大的那个区间,处理之间闭区间[A,B]上的高度是相同的,满足…