#P12454. [UOI 2024] Heroes and Monsters

[UOI 2024] Heroes and Monsters

题目描述

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 个形如 llrr 的查询。对于每个查询,计算 (i=lransi)mod998244353(\sum\limits_{i=l}^{r} ans_i) \mod 998244353 的值。

输入格式

第一行包含一个整数 nn1n51031 \leq n \leq 5 \cdot 10^3)—— 将进行的战斗场数。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai2n1 \leq a_i \leq 2 \cdot n)—— 英雄的战斗力。

第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \ldots, b_n1bi2n1 \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 的值都是两两不同的。

第四行包含一个整数 qq1qn+11 \leq q \leq n+1)—— 查询的数量。

接下来的 qq 行每行包含两个整数 llrr0lrn0 \leq l \leq r \leq n)—— 对应查询的参数。

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

输出格式

对于每个查询,输出一个整数 —— 所求的值 (i=lransi)mod998244353(\sum\limits_{i=l}^{r} ans_i) \mod 998244353

输入输出样例 #1

输入 #1

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

输出 #1

2
3
1

说明/提示

下图展示了第一个样例中的英雄和怪物。英雄位于上方,怪物位于下方。方块中的数字表示对应英雄或怪物的战斗力。

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

评分标准

  • 33 分):对于所有 1i,jn1 \leq i,j \leq n,满足 ai<bja_i < b_j
  • 99 分):q=1q = 1l=1l = 1r=1r = 1
  • 66 分):对于所有 1in1 \leq i \leq n,满足 ai=2i1a_i = 2 \cdot i - 1bi=2ib_i = 2 \cdot i
  • 1616 分):n500n \leq 500q=1q = 1l=0l = 0r=nr = n
  • 1414 分):q=1q = 1l=0l = 0r=nr = n
  • 1515 分):q=1q = 1l=rl = r
  • 1717 分):n500n \leq 500
  • 2020 分):无额外限制。

翻译由 DeepSeek V3 完成