C. [ARC181D] Prefix Bubble Sort

    传统题 2000ms 1024MiB

[ARC181D] Prefix Bubble Sort

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

AT_arc181_d [ARC181D] Prefix Bubble Sort

题目描述

给定一个 (1,2,,N) (1,2,\dots,N) 的排列 P=(P1,P2,,PN) P=(P_1,P_2,\dots,P_N)

对于该排列,定义如下操作 k (k=2,3,,N) k\ (k=2,3,\dots,N)

  • 操作 k k :依次对 i=1,2,,k1 i=1,2,\dots,k-1 ,如果 Pi>Pi+1 P_i > P_{i+1} ,则交换 P P 的第 i i 项和第 i+1 i+1 项的值。

给定一个长度为 M M 广义单调递增数列 A=(A1,A2,,AM) (2AiN) A=(A_1,A_2,\dots,A_M)\ (2 \leq A_i \leq N)

对于每个 i=1,2,,M i=1,2,\dots,M ,请你求出对 P P 依次按顺序执行操作 A1,A2,,Ai A_1,A_2,\dots,A_i 后,排列 P P 的逆序对数。

数列的逆序对数定义如下:对于长度为 n n 的数列 x=(x1,x2,,xn) x=(x_1,x_2,\dots,x_n) ,逆序对数是满足 1i<jn 1 \leq i < j \leq n xi>xj x_i > x_j 的整数对 (i,j) (i,j) 的个数。

输入格式

输入以如下格式从标准输入读入:

N N P1 P_1 P2 P_2 \dots PN P_N M M A1 A_1 A2 A_2 \dots AM A_M

输出格式

输出 M M 行。第 k k 行输出 i=k i=k 时的答案。

样例 1

输入

6
3 2 4 1 6 5
2
4 6

输出

3
1

样例 2

输入

20
12 14 16 8 7 15 19 6 18 5 13 9 10 17 4 1 11 20 2 3
15
3 4 6 8 8 9 10 12 13 15 18 18 19 19 20

输出

117
116
113
110
108
105
103
99
94
87
79
72
65
58
51

说明/提示

限制条件

  • 2N2×105 2 \leq N \leq 2 \times 10^5
  • 1M2×105 1 \leq M \leq 2 \times 10^5
  • 2AiN 2 \leq A_i \leq N
  • P P (1,2,,N) (1,2,\dots,N) 的一个排列
  • 对于 i=1,2,,M1 i=1,2,\dots,M-1 ,有 AiAi+1 A_i \leq A_{i+1}
  • 所有输入的值均为整数

样例解释 1

首先执行操作 4 4 。在操作 4 4 的过程中,P P 依次变为 $(3,2,4,1,6,5)\rightarrow(2,3,4,1,6,5)\rightarrow(2,3,4,1,6,5)\rightarrow(2,3,1,4,6,5)$。操作 4 4 结束后,P P 的逆序对数为 3 3 。接着执行操作 6 6 P P 最终变为 (2,1,3,4,5,6) (2,1,3,4,5,6) ,逆序对数为 1 1

由 ChatGPT 4.1 翻译

Training Race 04.13

未参加
状态
已结束
规则
XCPC
题目
3
开始于
2026-4-13 18:00
结束于
2026-4-13 20:00
持续时间
2 小时
主持人
参赛人数
3