#P8904. [USACO22DEC] Mountains G

[USACO22DEC] Mountains G

题目描述

沿着 Farmer John 的农场边缘有 N(1≤N≤2000)N(1 \le N \le 2000) 座排成一行等间隔分布的山。这些山可以用一个高度数组 h1,h2,⋯ ,hNh_1,h_2, \cdots ,h_N 表示。对于山 ii,如果没有一座山严格高于连接山 jj 和 ii 山顶的视线,则可以看到山 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(1≤Q≤2000)Q(1 \le Q \le 2000) 次更新操作,每次更新增加一座山的高度。求每次更新后可以互相看到的山的无序对数。

输入格式

输入的第一行包含 NN。

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

第 33 行包含 QQ。

第 44 到 3+Q3+Q 行每行包含 x,y(1≤x≤N,1≤y)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 现在可以看到山 33,44 和 55,从而使得答案变为 1010。

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

测试点性质

  • 测试点 2−52-5 满足 N,Q≤100N,Q \le 100。
  • 测试点 6−116-11 满足 Q≤10Q \le 10。
  • 测试点 12−2112-21 没有额外性质。