「DTOI-5」进行一个排的重 (Minimum Version)

Luogu
IDLGP9306
Time1000ms
Memory512MB
DifficultyP3
2023洛谷原创O2优化排列组合构造
小 L 有一个长为 $n$ 的序列 $a$,其中每一项 $a_i$ 都是一个 pair $(p_i, q_i)$。 为了让 $a$ 看起来规整一些,他钦定 $p, q$ 分别均为长为 $n$ 的排列。 为了对 $a$ 的规整程度进行量化计算,他给出了一个权值函数 $f(a) = \displaystyle\sum_{i = 1}^n ([p_i > \max_{j = 1}^{i - 1} p_j] + [q_i > \max_{j = 1}^{i - 1} q_j])$。**注意 $i = 1$ 时两个方括号都能取到值,因为我们认为 $\displaystyle\max_{j = 1}^0 p_j = \displaystyle\max_{j = 1}^0 q_j = -\infty$。** 为了让 $a$ 看起来更加规整,他决定分别以某种方式重排 $a$ 得到 $a'$ 使得 $f(a')$ 最小。**注意重排时必须将 $a'_i = (p'_i, q'_i)$ 视为整体。** 他希望你求出 $f(a')_{\min}$ 的值,以及分别有多少个 $a'$ 可以取到 $f(a')_{\min}$。 由于方案数可能很大,你只需要求出结果对 $998244353$ 取模的值。 ## Input 第一行,一个整数 $n$; 第二行,$n$ 个整数 $p_1, p_2, \cdots, p_n$; 第三行,$n$ 个整数 $q_1, q_2, \cdots, q_n$。 ## Output 一行,两个整数,表示所求的值。 [samples] ## Background **本题与 Maximum Version 的区别是所求最值和数据范围不同。** 小 L 热衷于重排数列使之规整。 ## Note **【数据范围】** $$ \def\or{\operatorname{or}} %\def\arrayscretch{1.5} \def\arraystretch{1.5} \begin{array}{|c|c|c|}\hline \textbf{Subtask}&n\le &\textbf{Points}\cr\hline \sf1&10&10 \operatorname{pts}\cr\hline \sf2&500&20 \operatorname{pts}\cr\hline \sf3&5\times10^3&20 \operatorname{pts}\cr\hline \sf4&10^5&20 \operatorname{pts}\cr\hline \sf5&5\times10^5&30 \operatorname{pts}\cr\hline \end{array} $$ 对于 $100\%$ 的数据,$1 \leq n \leq 5 \times 10^5$,$1 \leq p_i, q_i \leq n$,保证 $p, q$ 均为**排列**。
Samples
Input #1
5
1 5 2 4 3
1 4 2 5 3
Output #1
3 48
API Response (JSON)
{
  "problem": {
    "name": "「DTOI-5」进行一个排的重 (Minimum Version)",
    "description": {
      "content": "小 L 有一个长为 $n$ 的序列 $a$,其中每一项 $a_i$ 都是一个 pair $(p_i, q_i)$。 为了让 $a$ 看起来规整一些,他钦定 $p, q$ 分别均为长为 $n$ 的排列。 为了对 $a$ 的规整程度进行量化计算,他给出了一个权值函数 $f(a) = \\displaystyle\\sum_{i = 1}^n ([p_i > \\max_{j = 1}^{i - 1} p",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP9306"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "小 L 有一个长为 $n$ 的序列 $a$,其中每一项 $a_i$ 都是一个 pair $(p_i, q_i)$。\n\n为了让 $a$ 看起来规整一些,他钦定 $p, q$ 分别均为长为 $n$ 的排列。\n\n为了对 $a$ 的规整程度进行量化计算,他给出了一个权值函数 $f(a) = \\displaystyle\\sum_{i = 1}^n ([p_i > \\max_{j = 1}^{i - 1} p...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments