#P6611. [Code+#7] 六元环

[Code+#7] 六元环

题目描述

qwqwq。


给定序列 a0,a1,…,an,an+1a_0, a_1, \dots, a_n, a_{n+1};满足 a0=an+1=+∞a_0 = a_{n+1} = +\infty,a1,a2,…,ana_1, a_2, \dots, a_n 在输入中给出;

对 1≤x≤n1\le x\le n,称 max⁡0≤i<x,ai≥axi\max_{0\le i<x, a_i\ge a_x} i 和 xx 是相邻的,且 min⁡x<i≤n+1,ai>axi\min_{x< i\le n+1, a_i>a_x} i 和 xx 是相邻的;如果 xx 和 yy 相邻,则 yy 和 xx 也相邻;

如果 0≤b1,b2,b3,b4,b5,b6≤n+10 \le b_1, b_2, b_3, b_4, b_5, b_6\le n+1,且 bib_i 和 bi+1b_{i+1} 相邻,b1b_1 和 b6b_6 相邻,bib_i 互不相同,则称集合 {b1,b2,b3,b4,b5,b6}\{b_1,b_2,b_3,b_4,b_5,b_6\} 是一个六元环(即判断两个六元环是否相同时,不考虑 bib_i 的顺序)。

共有 mm 次修改操作,每次修改操作给出 x yx\ y,将 axa_x 改为 ax+ya_x + y;每次修改后要求输出六元环的个数;

以上提到的所有数值为整数,且 $1\le n, m\le 5\times 10^5, 1\le x\le n,1\le a_i, y\le 10^9$。

输入格式

第一行一个整数 nn;

第二行 nn 个整数表示 a1,a2,…,ana_1, a_2, \dots, a_n;

第三行一个整数 mm;接下来 mm 行,每行两个整数 x yx\ y 表示一次修改操作。

输出格式

共 mm 行,每行一个整数,表示每次修改后的六元环个数。

6
1 2 5 4 3 6
4
1 8
3 6
5 10
2 7
3
0
1
1

提示

子任务 分数 限制
11 1010 max⁡(n,m)≤100\max (n,m)\le 100
22 max⁡(n,m)≤2000\max (n,m)\le 2000
33 2020 max⁡(n,m)≤50000\max (n,m)\le 50000
44 for each operation, x≤100x\le 100
55 for each operation, y≤10y\le 10
66