AT_abc452_f [ABC452F] Interval Inversion Count
题目描述
给定正整数 $N$ 和 $(1,2,\ldots,N)$ 的一个排列 $P=(P_1, P_2, \ldots, P_N)$。
再给定一个整数 $K$。求满足以下两个条件的整数对 $(l, r)$ 的个数:
- $1 \le l \le r \le N$
- 序列 $(P_l, P_{l+1}, \ldots, P_r)$ 的逆序对数等于 $K$。
输入格式
输入从标准输入以以下格式给出:
>$N$ $K$
>
>$P_1$ $P_2$ $\ldots$ $P_N$
输出格式
输出满足条件的整数对 $(l, r)$ 的个数。
说明/提示
### 样例解释 1
例如,序列 $(P_1, P_2, P_3) = (6, 3, 2)$ 的逆序对数为 $3$,因此 $(l, r) = (1, 3)$ 满足条件。
此外,$(l, r) = (2, 4), (2, 5), (4, 7), (5, 7)$ 也满足条件,因此输出 5。
### 样例解释 2
$P$ 的所有连续子序列的逆序对数都为 $0$,所以不存在满足条件的 $(l, r)$,输出 0。
### 数据范围
- $1 \le N \le 5 \times 10^5$
- $0 \le K \le \frac{N(N-1)}{2}$
- $1 \le P_i \le N \quad (1 \le i \le N)$
- $P_i \ne P_j \quad (1 \le i < j \le N)$
所有输入均为整数。