AT_abc318_h [ABC318Ex] Count Strong Test Cases
题目描述
すぬけ君想出了如下的问题。
> 给定 $ (1,2,\ldots,N) $ 的排列 $ P=(P_1,P_2,\ldots,P_N), Q=(Q_1,Q_2,\ldots,Q_N) $。按照以下方法构建一个有 $ N $ 个顶点和 $ N $ 条边的图。
>
> - 对于 $ i=1,2,\ldots,N $,依次将顶点 $ i $ 与顶点 $ P_i $ 之间连接一条权值为 $ Q_i $ 的无向边。
>
> 当你删除若干条边使得图中不包含环时,请求出被删除的边的权值之和的最小值。
Alice 和 Bob 分别想出了如下的解法。
Alice:将答案初始化为 $ 0 $。对于 $ i=1,2,\ldots,N $,如果顶点 $ i $ 与顶点 $ P_i $ 之间的边在环中,则删除这条边,并将其权值加到答案中。
Bob:将答案初始化为 $ 0 $。对于 $ i=N,N-1,\ldots,1 $,如果顶点 $ i $ 与顶点 $ P_i $ 之间的边在环中,则删除这条边,并将其权值加到答案中。
すぬけ君发现 Alice 和 Bob 的解法都是错误的,所以他想知道,有多少组输入使得 Alice 和 Bob 的解法的答案都与正确答案不同。
输入共有 $ (N!)^2 $ 种可能,请你输出其中 Alice 和 Bob 的解法的答案都与正确答案不同的输入的个数,模 $ 998244353 $。
输入格式
输入通过标准输入给出,格式如下:
> $ N $
输出格式
请输出一个整数,表示答案。
说明/提示
### 限制条件
- $ 1\leq N\leq 2\times 10^5 $
- 输入的所有数均为整数
### 样例解释 1
满足条件的输入共有以下 $ 4 $ 种:
- $ P=(2,3,1), Q=(2,1,3) $
- $ P=(2,3,1), Q=(3,1,2) $
- $ P=(3,1,2), Q=(2,1,3) $
- $ P=(3,1,2), Q=(3,1,2) $
例如,对于 $ P=(2,3,1), Q=(2,1,3) $,正确答案是 $ 1 $,但 Alice 的解法输出 $ 2 $,Bob 的解法输出 $ 3 $。
### 样例解释 2
也有可能不存在满足条件的输入。
由 ChatGPT 4.1 翻译