#P12965. [AGC023E] Inversions

    ID: 12149 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2600组合数学线段树树状数组排序数据结构计数DP

[AGC023E] Inversions

题目描述

すぬけ君有一个长度为 NN 的整数序列 AA。すぬけ君喜欢满足以下条件的 (1,2,...,N) (1, 2, ..., N) 的排列 PP

  • 对于所有 ii1iN1 \leq i \leq N),都有 PiAiP_i \leq A_i

すぬけ君对满足条件的所有排列的逆序数(※)感兴趣。请你帮すぬけ君计算所有满足条件的排列的逆序数之和。由于答案可能非常大,请输出对 109+710^9 + 7 取模后的结果。

输入格式

输入通过标准输入按以下格式给出。

NN A1A_1 A2A_2 ...... ANA_N

输出格式

请输出满足条件的所有排列的逆序数之和对 109+710^9 + 7 取模后的结果。

输入输出样例 #1

输入 #1

3
2 3 3

输出 #1

4

输入输出样例 #2

输入 #2

6
4 2 5 1 6 3

输出 #2

7

输入输出样例 #3

输入 #3

5
4 4 4 4 4

输出 #3

0

输入输出样例 #4

输入 #4

30
22 30 15 20 10 29 11 29 28 11 26 10 18 28 22 5 29 16 24 24 27 10 21 30 29 19 28 27 18 23

输出 #4

848414012

说明/提示

注释

一个长度为 NN 的数列 ZZ 的逆序数是指满足 Zi>ZjZ_i > Z_j 的整数对 (i,j)(i, j)1i<jN1 \leq i < j \leq N)的个数。

约束条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1AiN1 \leq A_i \leq N1iN1 \leq i \leq N
  • 输入均为整数。

样例解释 1

满足条件的排列有 (1,2,3)(1,2,3)(1,3,2)(1,3,2)(2,1,3)(2,1,3)(2,3,1)(2,3,1)44 个。它们的逆序数分别为 00111122,因此总和为 44,输出 44

样例解释 2

满足条件的排列只有 (4,2,5,1,6,3)(4,2,5,1,6,3)。该排列的逆序数为 77,因此输出 77

样例解释 3

没有任何满足条件的排列。