#P12638. 「OOI 2022 Day 2」三年级学生的题目

「OOI 2022 Day 2」三年级学生的题目

题目描述

小泰勒走进厨房,看到冰箱上用磁铁拼出了一串字符串 ss。他立刻发现了其中的无限潜力!

泰勒喜欢字符串,尤其是那些在字典序上小于字符串 tt 的字符串。在玩冰箱上的磁铁时,他开始思考,通过重新排列字符串 ss 中的字母,他能拼出多少个不同的、字典序小于 tt 的字符串。由于他只在二年级,无法自己计算这个数量,所以他请求你的帮助!

注意,字符串 xx 在字典序上小于字符串 yy,如果满足以下两个条件之一:

  • 存在某个位置 mm,在该位置之前两字符串相同,而在位置 mm 上,字符串 xx 的字符小于字符串 yy 的字符;
  • 字符串 xx 是字符串 yy 的严格前缀(即通过去掉 yy 末尾的一个或多个字符得到)。

由于答案可能非常大,请将结果对 998244353998244353 取模后输出。

输入格式

第一行包含两个整数 nnmm (1n,m200000)(1 \leq n, m \leq 200000),分别表示字符串 sstt 的长度。

第二行包含 nn 个整数 s1,s2,s3,,sns_1, s_2, s_3, \ldots, s_n (1si200000)(1 \leq s_i \leq 200000),表示字符串 ss 的字母。

第三行包含 mm 个整数 t1,t2,t3,,tmt_1, t_2, t_3, \ldots, t_m (1ti200000)(1 \leq t_i \leq 200000),表示字符串 tt 的字母。

输出格式

输出一个整数,即通过重新排列 ss 中的字母可以得到的、字典序小于 tt 的不同字符串的数量,对 998244353998244353 取模。

3 4
1 2 2
2 1 2 1

2

4 4
1 2 3 4
4 3 2 1

23

4 3
1 1 1 2
1 1 2

1

数据范围与提示

详细子任务附加限制及分值如下表所示。其中子任务 00 是样例。

子任务 分值 附加限制 子任务依赖 备注
11 1616 n,m10n, m \leq 10si,ti10s_i, t_i \leq 10 00
22 1515 si,ti2s_i, t_i \leq 2
33 1111 si,ti20s_i, t_i \leq 20 020 \sim 2
44 1313 si,ti200s_i, t_i \leq 200 030 \sim 3
55 1212 每组字符串(分别考虑)中的字母均不同
66 3333 050 \sim 5