分析每一个位置i的数字Ai什么时候会被删掉,在遇见第一个i < j并且 a_i > a_j时就要删掉,也就是说在询问区间[L,R]中,如果i>=L并且这个i对应的那个j<=R就需要计算一次贡献,构建一个record数组record[i]代表位置i所对应那个j在哪里。显然这个record可以倒着扫一遍+树状数组解决。每找到一个j就可以在位置j加一次贡献,那么最后计算答案的时候就是计算[L,R]区间被加了多少次贡献。最后的一个问题就是询问[L,R]区间的贡献但是有可能[1,L-1]的数字所对应的j在区间[L,R]里面,就会算多贡献。我自己的处理手法就是离线之后排序,按照询问...