luogu#P8904. [USACO22DEC] Mountains G

[USACO22DEC] Mountains G

题目描述

沿着 Farmer John 的农场边缘有 N(1N2000)N(1 \le N \le 2000) 座排成一行等间隔分布的山。这些山可以用一个高度数组 h1,h2,,hNh_1,h_2, \cdots ,h_N 表示。对于山 ii,如果没有一座山严格高于连接山 jjii 山顶的视线,则可以看到山 jj。形式化地说,对于两座山 i<ji<j,如果不存在 kk 使得 i<k<ji<k<j 并且 (k,hk)(k,h_k) 高于连接 (i,hi)(i,h_i)(j,hj)(j,h_j) 的线段,则这两座山之间互相可以看到对方。给定 Q(1Q2000)Q(1 \le Q \le 2000) 次更新操作,每次更新增加一座山的高度。求每次更新后可以互相看到的山的无序对数。

输入格式

输入的第一行包含 NN

22 行包含 NN 个高度 h1,h2,,hNh_1,h_2,\cdots,h_N(对每一个 ii,有 0hi1090 \le h_i \le 10^9)。

33 行包含 QQ

443+Q3+Q 行每行包含 x,y(1xN,1y)x,y(1 \le x \le N,1 \le y),其中 xx 为山的编号,yy 是山增加的高度。输入保证这座山更新后的高度不超过 10910^9

输出格式

输出 QQ 行,包含每次更新后可以互相看到的山的无序对数。

5
2 4 3 1 5
3
4 3
1 3
3 2
7
10
7

提示

样例 1 解释

初始时,以下的山之间可以互相看到:(1,2)(1,2)(2,3)(2,3)(2,5)(2,5)(3,4)(3,4)(3,5)(3,5)(4,5)(4,5),共 66 对。

第一次更新后,山 44 的高度为 44,这不会阻挡现有的可见性,但使得山 44 现在可以看到山 22,从而使得答案变为 77

第二次更新后,山 11 的高度为 55,这不会阻挡现有的可见性,但使得山 11 现在可以看到山 334455,从而使得答案变为 1010

第三次更新后,山 33 的高度为 55,阻挡了山 11 看到山 44,阻挡了山 22 看到山 4455,同时由于该山本就可以看到其他所有山,所以并没有使得该山看到更多的山,从而使得答案变为 77

测试点性质

  • 测试点 252-5 满足 N,Q100N,Q \le 100
  • 测试点 6116-11 满足 Q10Q \le 10
  • 测试点 122112-21 没有额外性质。