AT_utpc2025_i Inversion Graph
题目描述
给定整数 $N,K$ 和长度为 $Q$ 的整数序列 $D = (D_1, D_2, \dots, D_Q)$。
对于 $(1, 2, \dots, N)$ 的一个排列 $P = (P_1, P_2, \dots, P_N)$,如下定义一个包含 $N$ 个顶点(顶点编号为 $1$ 到 $N$)的无向图 $G(P)$:
> 对于所有满足 $1 \leq i < j \leq N$ 的整数对 $(i,j)$,当且仅当 $P_i > P_j$ 时,在 $G(P)$ 中顶点 $i$ 和顶点 $j$ 之间有一条边。
对于每个 $d = 1, 2, \dots, N-1$,设 $\mathcal{S}_d$ 为满足以下所有条件的所有 $(1,2,\dots,N)$ 的排列 $P$ 的集合:
- $G(P)$ 是一棵树;
- $G(P)$ 的直径为 $d$。
对于每个 $q = 1, 2, \dots, Q$,请计算 $\displaystyle \sum_{P \in \mathcal{S}_{D_q}} (\mathrm{LIS}(P))^K$ 模 $998244353$ 的值。其中,$\mathrm{LIS}(P)$ 表示排列 $P$ 的最长递增子序列的长度。
输入格式
输入从标准输入按以下格式给出:
> $N$ $K$ $Q$ $D_1$ $D_2$ $\vdots$ $D_Q$
输出格式
请按顺序,每行输出一个答案,共 $Q$ 行。
说明/提示
### 部分分
- 若对满足额外限制 $N \le 500$ 的数据集作答正确,可获得 $10$ 分。
### 样例解释 1
满足 $G(P)$ 是树的 $(1,2,3,4)$ 的排列 $P$ 共 $4$ 种:
- $P = (2, 3, 4, 1)$:$G(P)$ 的直径为 $2$,$\mathrm{LIS}(P) = 3$。
- $P = (4, 1, 2, 3)$:$G(P)$ 的直径为 $2$,$\mathrm{LIS}(P) = 3$。
- $P = (2, 4, 1, 3)$:$G(P)$ 的直径为 $3$,$\mathrm{LIS}(P) = 2$。
- $P = (3, 1, 4, 2)$:$G(P)$ 的直径为 $3$,$\mathrm{LIS}(P) = 2$。
因此:
- $q = 1$ 的答案为 $0$;
- $q = 2$ 的答案为 $3^0 + 3^0 = 2$;
- $q = 3$ 的答案为 $2^0 + 2^0 = 2$。
# 数据范围
- 所有输入均为整数
- $2 \leq N \leq 10^6$
- $0 \leq K \leq 10^{18}$
- $1 \le Q \le 2 \times 10^5$
- $1 \le D_1 < D_2 < \ldots < D_Q < N$
由 ChatGPT 5 翻译