#D0650. [DAY27]反向Z函数

[DAY27]反向Z函数

题目描述

33DAI 拿到了一个长度为 nn 的数组 z1znz_1\sim z_n

请你构造一个长度为 nn 的仅包含小写英文字母的字符串 s1sns_1\sim s_n,要求对于所有 1n1\sim n 范围内的 ii 都有:

  • sisi+zi1s_i\sim s_{i+z_i-1}s1szis_1\sim s_{z_i} 相同。
  • si+zis_{i+z_i}szi+1s_{z_i+1} 不同。

题目保证有解。

输入格式

第一行为一个数 nn

第二行为 nn 个空格隔开的正整数 z1znz_1\sim z_n

输出格式

输出一个满足要求的长度为 nn 的仅包含小写英文字母的字符串。显然可能有多种解,请输出字典序最小的一个。

6
6 0 2 0 0 1
ababba
4
4 0 1 0
abac

数据规模与约定

对于 100%100\% 的数据,1n1051 \le n \le 10^5ziz_i 保证存在合法解。

  • 子任务 1(30 分):保证仅需要 ab 两个字符即可构造。
  • 子任务 2(30 分):保证 n26n\le 26
  • 子任务 3(40 分):没有特殊限制。