P6611 [Code+#7] 六元环
题目描述
qwqwq。
------------
给定序列 $a_0, a_1, \dots, a_n, a_{n+1}$;满足 $a_0 = a_{n+1} = +\infty$,$a_1, a_2, \dots, a_n$ 在输入中给出;
对 $1\le x\le n$,称 $\max_{0\le ia_x} i$ 和 $x$ 是**相邻**的;如果 $x$ 和 $y$ 相邻,则 $y$ 和 $x$ 也相邻;
如果 $0 \le b_1, b_2, b_3, b_4, b_5, b_6\le n+1$,且 $b_i$ 和 $b_{i+1}$ 相邻,$b_1$ 和 $b_6$ 相邻,$b_i$ 互不相同,则称集合 $\{b_1,b_2,b_3,b_4,b_5,b_6\}$ 是一个六元环(即判断两个六元环是否相同时,不考虑 $b_i$ 的顺序)。
共有 $m$ 次修改操作,每次修改操作给出 $x\ y$,将 $a_x$ 改为 $a_x + y$;每次修改后要求输出六元环的个数;
以上提到的所有数值为整数,且 $1\le n, m\le 5\times 10^5, 1\le x\le n,1\le a_i, y\le 10^9$。
输入格式
第一行一个整数 $n$;
第二行 $n$ 个整数表示 $a_1, a_2, \dots, a_n$;
第三行一个整数 $m$;接下来 $m$ 行,每行两个整数 $x\ y$ 表示一次修改操作。
输出格式
共 $m$ 行,每行一个整数,表示每次修改后的六元环个数。
说明/提示
| 子任务 | 分数 | 限制 |
| :----: | :--: | :----------------------------: |
| $1$ | $10$ | $\max (n,m)\le 100$ |
| $2$ | $10$ | $\max (n,m)\le 2000$ |
| $3$ | $20$ | $\max (n,m)\le 50000$ |
| $4$ | $20$ | for each operation, $x\le 100$ |
| $5$ | $20$ | for each operation, $y\le 10$ |
| $6$ | $20$ | |