AT_abc330_g.[ABC330G] Inversion Squared
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的数列 A=(A1,…,AN)。A 的每个元素要么是 −1,要么是 1 到 N 之间的整数,并且 1 到 N 的每个整数在 A 中最多出现一次。
对于 1 到 N 的一个排列 P=(P1,…,PN),如果满足 Ai=−1⇒Pi=Ai,则称 P 为良好排列。请你求出所有良好排列的逆序数的平方和,并对 998244353 取模。
排列 P 的逆序数定义为满足 1≤i<j≤N 且 Pi>Pj 的整数对 (i,j) 的个数。
输入格式
输入从标准输入读入,格式如下:
N A1 A2 … AN
输出格式
输出答案。
输入输出样例
输入#1
4 3 -1 2 -1
输出#1
29
输入#2
10 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
输出#2
952235647
输入#3
15 -1 -1 10 -1 -1 -1 2 -1 -1 3 -1 -1 -1 -1 1
输出#3
460544744
说明/提示
限制条件
- 1≤N≤3000
- 1≤Ai≤N 或 Ai=−1
- A 中 1,…,N 每个数最多出现一次
- 输入均为整数
样例解释 1
良好排列有 P=(3,1,2,4) 和 P=(3,4,2,1) 共 2 个,逆序数分别为 2 和 5。因此答案为 22+52=29。
样例解释 3
请对 998244353 取模后输出答案。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?