#P12638. 「OOI 2022 Day 2」三年级学生的题目
「OOI 2022 Day 2」三年级学生的题目
题目描述
小泰勒走进厨房,看到冰箱上用磁铁拼出了一串字符串 。他立刻发现了其中的无限潜力!
泰勒喜欢字符串,尤其是那些在字典序上小于字符串 的字符串。在玩冰箱上的磁铁时,他开始思考,通过重新排列字符串 中的字母,他能拼出多少个不同的、字典序小于 的字符串。由于他只在二年级,无法自己计算这个数量,所以他请求你的帮助!
注意,字符串 在字典序上小于字符串 ,如果满足以下两个条件之一:
- 存在某个位置 ,在该位置之前两字符串相同,而在位置 上,字符串 的字符小于字符串 的字符;
- 字符串 是字符串 的严格前缀(即通过去掉 末尾的一个或多个字符得到)。
由于答案可能非常大,请将结果对 取模后输出。
输入格式
第一行包含两个整数 和 ,分别表示字符串 和 的长度。
第二行包含 个整数 ,表示字符串 的字母。
第三行包含 个整数 ,表示字符串 的字母。
输出格式
输出一个整数,即通过重新排列 中的字母可以得到的、字典序小于 的不同字符串的数量,对 取模。
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
数据范围与提示
详细子任务附加限制及分值如下表所示。其中子任务 是样例。
子任务 | 分值 | 附加限制 | 子任务依赖 | 备注 |
---|---|---|---|---|
, | ||||
每组字符串(分别考虑)中的字母均不同 | ||||