CF396D On Sum of Number of Inversions in Permutations

题目描述

给定一个排列 $p$,计算所有字典序不超过该排列的排列中的逆序对总数。 由于答案可能非常大,请输出答案对 $1000000007$ ($10^{9}+7$) 取模后的结果。

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 10^{6}$),表示排列的长度。 第二行包含 $n$ 个互不相同的整数 $p_{1},p_{2},...,p_{n}$($1 \leq p_{i} \leq n$)。

输出格式

输出一个整数,表示满足条件的逆序对总数对 $1000000007$ ($10^{9}+7$) 取模的结果。

说明/提示

长度为 $n$ 的排列 $p$ 是一个含有 $n$ 个互不相同、且每个数都在 $1$ 到 $n$ 范围内的整数序列。 排列 $p_1, p_2, ..., p_n$ 的一个逆序对是指下标对 $(i, j)$,满足 $i < j$ 且 $p_i > p_j$。 当排列 $a$ 字典序不超过排列 $b$ 时,满足 $a = b$,或者存在某个数 $i$,使得 $a_1 = b_1$, $a_2 = b_2$, ..., $a_{i-1} = b_{i-1}$ 且 $a_i < b_i$。 由 ChatGPT 5 翻译