#ABC314C. 旋转同色子序列

旋转同色子序列

旋转同色子序列

题目描述

给定一个由小写英文字母组成、长度为 NN 的字符串 SSSS 的每个字符都被染成 MM 种颜色之一:颜色 11、颜色 22、……、颜色 MM;对于每个 i=1,2,,Ni = 1, 2, \ldots, NSS 的第 ii 个字符被染成颜色 CiC_i

对于每个 i=1,2,,Mi = 1, 2, \ldots, M,按此顺序执行以下操作:

SS 中被染成颜色 ii 的部分执行一次循环右移 11 位。 也就是说,如果从左到右第 p1p_1p2p_2p3p_3\ldotspkp_k 个字符被染成颜色 ii,则同时将 SS 的第 p1p_1p2p_2p3p_3\ldotspkp_k 个字符分别替换为 SS 的第 pkp_kp1p_1p2p_2\ldotspk1p_{k-1} 个字符。

输出执行完上述所有操作后的最终 SS

数据范围保证 SS 的每种颜色都至少有一个字符。

输入格式

输入按以下格式从标准输入给出:

NN MM
SS
C1C_1 C2C_2 \ldots CNC_N

输出格式

输出答案。

样例

8 3
apzbqrcs
1 2 3 1 2 2 1 2
cszapqbr

初始时 S=S = apzbqrcs。

i=1i = 1,将 SS 中由第 114477 个字符组成的部分循环右移 11 位,得到 S=S = cpzaqrbs。

i=2i = 2,将 SS 中由第 22556688 个字符组成的部分循环右移 11 位,得到 S=S = cszapqbr。

i=3i = 3,将 SS 中由第 33 个字符组成的部分循环右移 11 位,得到 S=S = cszapqbr(此时 SS 不变)。

因此,应输出最终的 SS:cszapqbr。

2 1
aa
1 1
aa

数据范围

  • 1MN2×1051 \le M \le N \le 2 \times 10^5
  • 1CiM1 \le C_i \le M
  • NNMMCiC_i 均为整数。
  • SS 是长度为 NN、由小写英文字母组成的字符串。
  • 对于每个整数 1iM1 \le i \le M,存在整数 1jN1 \le j \le N 使得 Cj=iC_j = i
难度 普及
通过率
尝试 0
已通过 0
ID
3031
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签