CF2030D.QED's Favorite Permutation

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

你有一个长度为 nn 的排列 pp,也就是说,11 到 nn 中的每个正整数都在 pp 中出现恰好一次。同时你还有一个长度也为 nn 的字符串 ss,其中仅含 L 和 R 两种字符。(排列和字符串的下标均从 11 开始编号)

定义一次操作为:任意选择一个编号 ii(1≤i≤n1 \le i \le n),在这之后:

  • 如果 sis_i 为 L,则交换 pip_i 和 pi−1p_{i-1}。(保证 s1s_1 不为 L)

  • 如果 sis_i 为 R,则交换 pip_i 和 pi+1p_{i+1}。(保证 sns_n 不为 R)

接下来给出 qq 次询问,在第 ii 次询问中(1≤i≤q1 \le i \le q),你将会得到一个编号 xix_i(1≤xi≤n1 \le x_i \le n),表示如果 sxis_{x_i} 为 L,则你需要将其改为 R;反之如果 sxis_{x_i} 为 R,则你需要将其改为 L。在修改完成之后,你还需要判断能否通过上述操作使得排列 pp 单调递增(操作次数不限),即对任意的 1≤i≤n−11 \le i \le n-1,都有 pi<pi+1p_i < p_{i+1}。

询问中对字符串 s\bm{s} 的修改均为永久性的,会在询问结束后保留。在回答询问的过程中,你不应对排列 p\bm{p} 进行任何真实的操作。

输入格式

第一行一个正整数 tt(1≤t≤1041 \le t \le 10^4),表示测试数据的组数。对于每组测试数据而言:

第一行包含两个正整数 n,qn,q(1≤n,q≤2×1051\le n,q \le 2 \times 10^5,n≥3n \ge 3),分别表示排列的长度和询问的次数。

第二行包含 nn 个正整数 p1,p2,...,pnp_1,p_2,...,p_n(1≤pi≤n1 \le p_i \le n),表示排列 pp。

第三行包含一个长度为 nn 的字符串 ss,保证 si∈{L,R},s1=R,sn=Ls_i \in \{ \texttt{L}, \texttt{R} \},s_1 = \texttt{R},s_n = \texttt{L}。

接下来 qq 行,其中第 ii 行包含一个正整数 xix_i(1≤xi≤n1 \le x_i \le n),表示要修改的字符的编号。

保证所有测试数据中 nn 和 qq 的总和都不超过 2×1052 \times 10^5。

输出格式

对于每个询问,在单独一行输出一个字符串表示答案。如果在修改完成之后能通过上述操作使得排列 pp 单调递增(操作次数不限),则输出 YES;否则输出 NO。评测时不区分大小写,例如 Yes,yES 等均被认为与 YES 等价。

【样例解释】

对于第一组测试数据,在第一次询问之后,s=RRRLLs = \texttt{RRRLL}。我们可以通过如下操作序列使得排列 pp 单调递增:

  • 初始时,p=[1,4,2,5,3]p=[1,4,2,5,3]。

  • 选择 i=2i=2 进行一次操作,由于 s2=Rs_2 = \texttt{R},所以我们交换 p2p_2 和 p3p_3,得到 p=[1,2,4,5,3]p=[1,2,4,5,3]。

  • 选择 i=5i=5 进行一次操作,由于 s5=Ls_5 = \texttt{L},所以我们交换 p5p_5 和 p4p_4,得到 p=[1,2,4,3,5]p=[1,2,4,3,5]。

  • 选择 i=4i=4 进行一次操作,由于 s4=Ls_4 = \texttt{L},所以我们交换 p4p_4 和 p3p_3,得到 p=[1,2,3,4,5]p=[1,2,3,4,5]。此时,排列 pp 已经单调递增。

因此,对于第一次询问你应当输出 YES。

对于第一组测试数据可以证明,在三次询问对字符串 ss 的修改完成之后,不可能再通过上述操作使得排列 pp 单调递增。因此,对于第三次询问你应当输出 NO。

Translated by FruitWasTaken

输入输出样例

  • 输入#1

    3
    5 3
    1 4 2 5 3
    RLRLL
    2
    4
    3
    8 5
    1 5 2 4 8 3 6 7
    RRLLRRRL
    4
    3
    5
    3
    4
    6 2
    1 2 3 4 5 6
    RLRLRL
    4
    5

    输出#1

    YES
    YES
    NO
    NO
    YES
    NO
    NO
    NO
    YES
    YES

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

首页