CF1213F.Unstable String Sort

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Authors have come up with the string ss consisting of nn lowercase Latin letters.

You are given two permutations of its indices (not necessary equal) pp and qq (both of length nn). Recall that the permutation is the array of length nn which contains each integer from 11 to nn exactly once.

For all ii from 11 to n−1n-1 the following properties hold: s[pi]≤s[pi+1]s[p_i] \le s[p_{i + 1}] and s[qi]≤s[qi+1]s[q_i] \le s[q_{i + 1}]. It means that if you will write down all characters of ss in order of permutation indices, the resulting string will be sorted in the non-decreasing order.

Your task is to restore any such string ss of length nn consisting of at least kk distinct lowercase Latin letters which suits the given permutations.

If there are multiple answers, you can print any of them.

作者构造了一个由 nn 个小写拉丁字母组成的字符串 ss。

你被给定该字符串下标的两个排列(不一定相等)pp 和 qq(长度均为 nn)。回忆一下,排列是指一个长度为 nn 的数组,其中恰好包含从 11 到 nn 的每个整数各一次。

对于所有从 11 到 n−1n-1 的 ii,以下性质均成立:s[pi]≤s[pi+1]s[p_i] \le s[p_{i + 1}] 且 s[qi]≤s[qi+1]s[q_i] \le s[q_{i + 1}]。这意味着:若你按照排列的下标顺序依次写出 ss 的所有字符,则所得字符串将按非递减顺序排列。

你的任务是恢复出任意一个满足上述条件、长度为 nn、且至少包含 kk 个不同小写拉丁字母的字符串 ss。

若存在多个答案,输出任意一个即可。

输入格式

The first line of the input contains two integers nn and kk (1≤n≤2⋅105,1≤k≤261 \le n \le 2 \cdot 10^5, 1 \le k \le 26) — the length of the string and the number of distinct characters required.

The second line of the input contains nn integers p1,p2,…,pnp_1, p_2, \dots, p_n (1≤pi≤n1 \le p_i \le n, all pip_i are distinct integers from 11 to nn) — the permutation pp.

The third line of the input contains nn integers q1,q2,…,qnq_1, q_2, \dots, q_n (1≤qi≤n1 \le q_i \le n, all qiq_i are distinct integers from 11 to nn) — the permutation qq.

输入的第一行包含两个整数 nn 和 kk(1≤n≤2⋅1051 \le n \le 2 \cdot 10^5,1≤k≤261 \le k \le 26)—— 分别表示字符串的长度以及所需的不同字符数量。

输入的第二行包含 nn 个整数 p1,p2,…,pnp_1, p_2, \dots, p_n(1≤pi≤n1 \le p_i \le n,所有 pip_i 是从 11 到 nn 的互不相同的整数)—— 表示排列 pp。

输入的第三行包含 nn 个整数 q1,q2,…,qnq_1, q_2, \dots, q_n(1≤qi≤n1 \le q_i \le n,所有 qiq_i 是从 11 到 nn 的互不相同的整数)—— 表示排列 qq。

输出格式

If it is impossible to find the suitable string, print "NO" on the first line.

Otherwise print "YES" on the first line and string ss on the second line. It should consist of nn lowercase Latin letters, contain at least kk distinct characters and suit the given permutations.

If there are multiple answers, you can print any of them.

如果无法找到满足条件的字符串,则在第一行输出 "NO"。

否则,在第一行输出 "YES",在第二行输出字符串 ss。该字符串应由 nn 个小写拉丁字母组成,包含至少 kk 个不同的字符,并满足给定的排列。

如果有多个答案,输出任意一个即可。

输入输出样例

  • 输入#1

    3 2
    1 2 3
    1 3 2

    输出#1

    YES
    abb

输入解题思路,AI测评打分。不知道怎么写?

首页