简要题意.
给定 $N$ 和长为 $N$ 的序列 $A_1, A_2, \dots, A_N$,有依次执行的 $Q$ 次单点修改。
在所有修改前和每次修改后,需要输出 $|\{(i,j)\mid A_i = A_j \land (i < k < j \implies A_k < A_i)\}|$。$N \le 10^5$,$Q \le 2.5\times 10^5$。
显然地,所有数对可以构成一棵树。
按时间分治,设当前在处理 $[s,e]$ 内的修改,我们注意到每个修改会导致树上一条祖先后代链的数对被删除。
假设每次是从一个点 $v$ 往上删到一点 $u$,我们不妨将所有 $u$ 的父亲和所有 $v$ 拿出来建出虚树,其余的边都可以扔掉。
途中需要用线段树来维护新增的数对。
直接实现就是 $O((N+Q)\log^2(N+Q))$ 的。