#HK5216. 「UOI 2024 Stage 4 Day2」英雄与怪物

「UOI 2024 Stage 4 Day2」英雄与怪物

题目描述

题目译自 Ukrainian Olympiads in Informatics 2024 Stage 4 Day2 T3. Герої та Монстри

nn 名英雄和 nn 只怪物,英雄和怪物分别编号为从 11nn 的整数。第 ii 名英雄的力量为 aia_i,第 ii 只怪物的力量为 bib_i。保证所有值 a1,a2,,an,b1,b2,,bna_1, a_2, \ldots, a_n, b_1, b_2, \ldots, b_n 两两不同

总共将进行 nn 场战斗。每场战斗中恰好有一名英雄和一只怪物参与,且每名英雄和每只怪物都恰好参与一场战斗。假设战斗中参与的英雄编号为 ii,怪物编号为 jj,如果 ai>bja_i > b_j,则编号为 ii 的英雄会感到高兴;否则,他会感到沮丧。

我们定义 anskans_k 为大小为 kk 的英雄集合 SS 的数量,使得存在一种战斗分配方式,使得集合 SS 中的所有英雄都感到高兴,而其他英雄都感到沮丧。

给定 qq 个查询,每个查询形式为 l,rl, r。对于每个查询,计算 $\left(\sum\limits_{i=l}^{r} ans_i\right) \bmod 998244353$。

输入格式

输入的第一行包含一个整数 nn (1n5103)(1 \leq n \leq 5 \cdot 10^3),表示战斗的数量。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (1ai2n)(1 \leq a_i \leq 2 \cdot n),表示英雄的力量。

第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \ldots, b_n (1bi2n)(1 \leq b_i \leq 2 \cdot n),表示怪物的力量。

保证所有值 a1,a2,,an,b1,b2,,bna_1, a_2, \ldots, a_n, b_1, b_2, \ldots, b_n 两两不同。

第四行包含一个整数 qq (1qn+1)(1 \leq q \leq n+1),表示查询的数量。

接下来的 qq 行,每行包含两个整数 llrr (0lrn)(0 \leq l \leq r \leq n),表示对应查询的参数。

输出格式

对于每个查询,单独输出一行一个整数,表示所求值 $\left(\sum\limits_{i=l}^{r} ans_i\right) \bmod 998244353$。

3
3 4 6
1 2 5
3
1 2
2 3
3 3

2
3
1

在第一个样例中,英雄和怪物的力量如下图所示。英雄在上方,怪物在下方,方框内的数字表示对应英雄或怪物的力量。

在样例中,存在三种可能的快乐英雄集合:{1,2,3}\{1, 2, 3\}{2,3}\{2, 3\}{1,3}\{1, 3\}。以下是三种战斗分配方式,分别使对应的英雄集合感到快乐。注意,对于同一个英雄集合,可能存在多种战斗分配方式使其快乐。

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 33 ai<bja_i < b_j(对于 1i,jn1 \leq i, j \leq n
22 99 q=1q = 1, l=1l = 1, r=1r = 1
33 66 ai=2i1a_i = 2 \cdot i - 1, bi=2ib_i = 2 \cdot i(对于 1in1 \leq i \leq n
44 1616 n500n \leq 500, q=1q = 1, l=0l = 0, r=nr = n
55 1414 q=1q = 1, l=0l = 0, r=nr = n
66 1515 q=1q = 1, l=rl = r
77 1717 n500n \leq 500
88 2020 无附加限制