#aBC330G. [ABC330G] Inversion Squared
[ABC330G] Inversion Squared
AT_abc330_g [ABC330G] Inversion Squared
题目描述
给定一个长度为 的数列 。 的每个元素要么是 ,要么是 到 之间的整数,并且 到 的每个整数在 中最多出现一次。
对于 到 的一个排列 ,如果满足 ,则称 为良好排列。请你求出所有良好排列的逆序数的平方和,并对 取模。
排列 的逆序数定义为满足 且 的整数对 的个数。
输入格式
输入从标准输入读入,格式如下:
输出格式
输出答案。
输入输出样例 #1
输入 #1
4
3 -1 2 -1
输出 #1
29
输入输出样例 #2
输入 #2
10
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1
输出 #2
952235647
输入输出样例 #3
输入 #3
15
-1 -1 10 -1 -1 -1 2 -1 -1 3 -1 -1 -1 -1 1
输出 #3
460544744
说明/提示
限制条件
- 或
- 中 每个数最多出现一次
- 输入均为整数
样例解释 1
良好排列有 和 共 个,逆序数分别为 和 。因此答案为 。
样例解释 3
请对 取模后输出答案。
由 ChatGPT 4.1 翻译