#505. Mountains

0

Mountains

Mountains

题目描述

注意:本题时间限制为 5s,是默认值的 2.5 倍。内存限制是默认值的 2 倍。 在 Farmer John 的农场边缘有一排 NN(1≤N≤20001 \leq N \leq 2000)座等间距的山。它们可以表示为高度数组 h1,h2,…,hNh_1,h_2,\dots,h_N。 对于一座山 ii,如果从山 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) 的线段之上时,它们互相可见。 有 QQ(1≤Q≤20001 \leq Q \leq 2000)次更新操作,每次会使某一座山的高度增加。请在每次更新后,求互相可见的山的无序对总数。

输入格式

第 11 行包含 NN。 第 22 行包含 NN 个高度 h1,h2,…,hNh_1,h_2,\dots,h_N(对每个 ii,0≤hi≤1090 \leq h_i \leq 10^9)。 第 33 行包含 QQ。 第 44 行到第 3+Q3+Q 行包含 xx、yy(1≤x≤N1 \leq x \leq N,1≤y1 \leq y),其中 xx 是山的下标,yy 是高度增加的量。保证更新后该山的新高度至多为 10910^9。

输出格式

输出 QQ 行,每行表示对应更新之后,互相可见的山的无序对总数。

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

提示

起初,以下山对互相可见:(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。 SCORING: 测试点 2-5 满足 N,Q≤100N, Q\le 100。 测试点 6-11 满足 Q≤10Q \leq 10。 测试点 12-21 没有额外限制。 题目来源:Joe Li 和 Larry Xing

标签: USACO|2022|Gold

来源

USACO|2022|Gold