#aBC190F. [ABC190F] Shift and Inversions

[ABC190F] Shift and Inversions

AT_abc190_f [ABC190F] Shift and Inversions

题目描述

给定一个由 0,1,2,,N10, 1, 2, \dots, N-1 组成的排列数列 A=[a0,a1,a2,,aN1]A = [a_0, a_1, a_2, \dots, a_{N-1}]

对于 k=0,1,2,,N1k = 0, 1, 2, \dots, N-1 的每一个 kk,定义数列 B=[b0,b1,b2,,bN1]B = [b_0, b_1, b_2, \dots, b_{N-1}],其中 bi=a(i+k)modNb_i = a_{(i + k) \bmod N}

请你求出每个 BB 的逆序对数。

逆序对数指的是,对于数列 A=[a0,a1,a2,,aN1]A = [a_0, a_1, a_2, \dots, a_{N-1}],满足 i<ji < jai>aja_i > a_j 的下标对 (i,j)(i, j) 的个数。

输入格式

输入通过标准输入给出,格式如下:

NN a0a_0 a1a_1 a2a_2 \cdots aN1a_{N-1}

输出格式

输出共 NN 行。
i+1i+1 行输出当 k=ik = i 时的答案。

输入输出样例 #1

输入 #1

4
0 1 2 3

输出 #1

0
3
4
3

输入输出样例 #2

输入 #2

10
0 3 1 5 4 2 9 6 8 7

输出 #2

9
18
21
28
27
28
33
24
21
14

说明/提示

限制条件

  • 输入均为整数。
  • 2N3×1052 \leq N \leq 3 \times 10^5
  • a0,a1,a2,,aN1a_0, a_1, a_2, \dots, a_{N-1}0,1,2,,N10, 1, 2, \dots, N-1 的一个排列。

样例解释 1

A=[0,1,2,3]A = [0, 1, 2, 3]。当 k=0k = 0 时,B=[0,1,2,3]B = [0, 1, 2, 3] 的逆序对数为 00。当 k=1k = 1 时,B=[1,2,3,0]B = [1, 2, 3, 0] 的逆序对数为 33。当 k=2k = 2 时,B=[2,3,0,1]B = [2, 3, 0, 1] 的逆序对数为 44。当 k=3k = 3 时,B=[3,0,1,2]B = [3, 0, 1, 2] 的逆序对数为 33

由 ChatGPT 4.1 翻译