#G0094. 询问逆序对【2025暑假集训T4】

询问逆序对【2025暑假集训T4】

题目描述

BobBob 最近学习了逆序对,对于给定序列 A[]A[] 逆序对定义为 i<j,Ai>Aji<j,A_i>A_j , 他觉得逆序对太简单了,于是老师提高了难度,请你帮忙解决。

对于给定长度为 nn 的序列 A[]A[],进行 mm 询问: 每次给定一个数 hh , BobBob 需要将序列中小于 hh 的数临时变hh , 然后回答整个序列中逆序对总个数。(注意每次询问结束,序列恢复为原始状态)

输入格式

第一行一个整数 nn ,表示序列长度

接下来一行 nn 个整数,表示序列 A[]A[]

接下来一行一个整数 mm ,询问次数

接下来 mm 行,每行一个整数 hh ,含义如题。

输出格式

mm 行,每行一个整数,对于每一个 hh ,按照题目要求输出逆序对个数。

5
2 5 3 3 1
3
2
4
5
5
3
0

样例1解释

11 次询问,h=2h=2,序列变为: 2 5 3 3 2, 逆序对个数为 55

22 次询问,h=3h=3,序列变为: 2 5 3 3 3, 逆序对个数为 33

33 次询问,h=5h=5,序列变为: 5 5 5 5 5, 逆序对个数为 00

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

下发文件:down.zip

数据规模与约定

subtask1subtask1: 2n1032\le n \le 10^3,1m1031 \le m\le 10^3, 1ai,h1031\le a_i ,h \le 10^3 , 2020

subtask2subtask2: 2n1032\le n \le 10^3,1m1031 \le m\le 10^3, 1ai,h1091\le a_i,h\le 10^9 , 1010

subtask3subtask3: 2n1052\le n \le 10^5,1m1051 \le m\le 10^5, 1ai,h1051\le a_i,h\le 10^5 , 6060

subtask4subtask4: 2n1052\le n \le 10^5,1m1051 \le m\le 10^5, 1ai,h1091\le a_i,h\le 10^9 , 1010