敏锐智慧【NOIP2023模拟赛T4】
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
对于一个长度为 、全由小写字母组成的的字符串,它有 个后缀,把这些后缀按字典序排序,排名第 的后缀的首字符在原串中的位置记作 ,那么 就是原串的后缀数组。排名第 和第 的两个后缀的最长公共前缀长度记作 ,它通常被称作 Height 数组。
(注:本题的正解不需要知道怎么快速求后缀数组和 Height 数组,所以也用不上 SA 板子)
现在给你完整的后缀数组和一部分 Height 数组,你需要通过这些信息构造出原字符串。保证全由小写字母组成的原串存在。如果有多组解,输出字典序最小的一组。
输入格式
第一行一个整数 ,表示字符串的长度。
第二行 个整数,第 个是 ,表示原串的后缀数组。
第三行 个整数,第 个是 ,如果它不是 就代表 的值,如果是 则代表 未指定,真正的 可以是任何数。
输出格式
输出一行一个长度为 的字符串,表示字典序最小的满足要求的原串。
4
4 1 2 3
1 0 0
abca
4
4 1 2 3
1 -1 0
aaba
11
11 4 8 1 5 9 2 6 10 3 7
-1 -1 -1 0 -1 -1 -1 0 -1 3
abcabbcabca
提示
- 对于 的数据,。
- 对于 的数据,。
- 对于另外 的数据, 没有 。
- 对于另外 的数据, 全为 。
- 对于全部数据,。