#P6107. [Ynoi2010] Worst Case Top Tree

[Ynoi2010] Worst Case Top Tree

题目描述

给定序列 a0,a1,a2…,an,an+1a_0,a_1,a_2\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;

每次修改后要求输出六元环的个数;

输入格式

第一行一个整数 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

提示

Idea:ccz181078,Solution:ccz181078,Code:ccz181078&zx2003,Data:nzhtl1477&zx2003

对于 100%100\% 的数据,以上提到的所有数值为整数,且 $1\le n,m\le 5\cdot 10^5;\;1\le x\le n;\;1\le a_i,y\le 10^9$。