CF1213F.Unstable String Sort
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Authors have come up with the string s consisting of n lowercase Latin letters.
You are given two permutations of its indices (not necessary equal) p and q (both of length n). Recall that the permutation is the array of length n which contains each integer from 1 to n exactly once.
For all i from 1 to n−1 the following properties hold: s[pi]≤s[pi+1] and s[qi]≤s[qi+1]. It means that if you will write down all characters of s in order of permutation indices, the resulting string will be sorted in the non-decreasing order.
Your task is to restore any such string s of length n consisting of at least k distinct lowercase Latin letters which suits the given permutations.
If there are multiple answers, you can print any of them.
作者构造了一个由 n 个小写拉丁字母组成的字符串 s。
你被给定该字符串下标的两个排列(不一定相等)p 和 q(长度均为 n)。回忆一下,排列是指一个长度为 n 的数组,其中恰好包含从 1 到 n 的每个整数各一次。
对于所有从 1 到 n−1 的 i,以下性质均成立:s[pi]≤s[pi+1] 且 s[qi]≤s[qi+1]。这意味着:若你按照排列的下标顺序依次写出 s 的所有字符,则所得字符串将按非递减顺序排列。
你的任务是恢复出任意一个满足上述条件、长度为 n、且至少包含 k 个不同小写拉丁字母的字符串 s。
若存在多个答案,输出任意一个即可。
输入格式
The first line of the input contains two integers n and k (1≤n≤2⋅105,1≤k≤26) — the length of the string and the number of distinct characters required.
The second line of the input contains n integers p1,p2,…,pn (1≤pi≤n, all pi are distinct integers from 1 to n) — the permutation p.
The third line of the input contains n integers q1,q2,…,qn (1≤qi≤n, all qi are distinct integers from 1 to n) — the permutation q.
输入的第一行包含两个整数 n 和 k(1≤n≤2⋅105,1≤k≤26)—— 分别表示字符串的长度以及所需的不同字符数量。
输入的第二行包含 n 个整数 p1,p2,…,pn(1≤pi≤n,所有 pi 是从 1 到 n 的互不相同的整数)—— 表示排列 p。
输入的第三行包含 n 个整数 q1,q2,…,qn(1≤qi≤n,所有 qi 是从 1 到 n 的互不相同的整数)—— 表示排列 q。
输出格式
If it is impossible to find the suitable string, print "NO" on the first line.
Otherwise print "YES" on the first line and string s on the second line. It should consist of n lowercase Latin letters, contain at least k distinct characters and suit the given permutations.
If there are multiple answers, you can print any of them.
如果无法找到满足条件的字符串,则在第一行输出 "NO"。
否则,在第一行输出 "YES",在第二行输出字符串 s。该字符串应由 n 个小写拉丁字母组成,包含至少 k 个不同的字符,并满足给定的排列。
如果有多个答案,输出任意一个即可。
输入输出样例
输入#1
3 2 1 2 3 1 3 2
输出#1
YES abb
输入解题思路,AI测评打分。不知道怎么写?