#ABC475E. 问答预赛晋级者 / Quiz Competition: Qualifiers

问答预赛晋级者 / Quiz Competition: Qualifiers

题目描述

一场问答竞赛的预赛已经举行。共有 NN 位参赛者,编号为 11 到 NN,最多可以有 MM 位参赛者通过预赛。

预赛由 KK 道二选一的问答题组成,每道题的答案都是 o 或 x。参赛者 ii 对第 jj 题给出的回答由字符串 SiS_i 的第 jj 个字符给出。第 jj 题的正确答案由字符串 TT 的第 jj 个字符给出。

晋级者按以下过程确定。

  • 最初,晋级者与淘汰者的人数都是 00;NN 位参赛者全部处于未定状态。
  • 按 k=1,2,…,Kk=1,2,\dots,K 的顺序,依次执行以下操作。
    • 如果「晋级者人数」加上「未定参赛者中第 kk 题答对的人数」不超过 MM,那么所有未定参赛者中第 kk 题答对的人都成为晋级者。
    • 否则,所有未定参赛者中第 kk 题答错的人都成为淘汰者。
  • 剩余所有未定的参赛者都成为淘汰者。

你会得到 QQ 个如下形式的询问,请按顺序处理它们。

  • 给定整数 ii 与 jj。把参赛者 ii 对第 jj 题的回答从 o 改成 x,或从 x 改成 o。然后判断参赛者 ii 是否能通过预赛。

每个询问中对回答的改动,在处理其后的询问时同样有效。

输入格式

输入按以下格式从标准输入读入:

  • NN MM KK
  • TT
  • S1S_1
  • ⋮\vdots
  • SNS_N
  • QQ
  • query1\mathrm{query}_1
  • ⋮\vdots
  • queryQ\mathrm{query}_Q

这里,queryq\mathrm{query}_q 表示第 qq 个询问,其格式如下:

  • ii jj

输出格式

输出 QQ 行。第 qq 行在「第 qq 个询问中指定的参赛者通过预赛」时输出 Yes,否则输出 No。

数据范围

  • 1≤M≤N≤3×1041 \leq M \leq N \leq 3\times 10^4
  • 1≤K≤2001 \leq K \leq 200
  • SiS_i 与 TT 是长度为 KK 的、仅由 o 与 x 组成的字符串。
  • 1≤Q≤5×1041 \leq Q \leq 5\times 10^4
  • 对每个询问,1≤i≤N1\leq i \leq N 且 1≤j≤K1 \leq j \leq K。
  • 所有输入值均为整数。
5 3 3
oxo
oxo
oxx
xxo
xox
xoo
3
5 1
1 3
4 1
Yes
Yes
No
  • 在第一个询问之前,参赛者 1,21,2 在第 11 题通过,参赛者 33 在第 22 题通过,因此晋级者是参赛者 1,2,31,2,3 这三人。
  • 在第一个询问之后,参赛者 1,2,51,2,5 在第 11 题通过,因此晋级者是参赛者 1,2,51,2,5 这三人。由于参赛者 55 通过了预赛,输出 Yes。
  • 在第二个询问之后,参赛者 1,2,51,2,5 仍然在第 11 题通过,因此晋级者是参赛者 1,2,51,2,5 这三人。由于参赛者 11 通过了预赛,输出 Yes。
  • 在第三个询问之后,参赛者 33 在第 11 题被淘汰,参赛者 1,21,2 在第 22 题通过,参赛者 55 在第 33 题通过,因此晋级者仍然是参赛者 1,2,51,2,5 这三人。由于参赛者 44 没有通过预赛,输出 No。
3 1 2
ox
xo
oo
ox
4
3 1
1 1
2 2
1 2
No
No
Yes
No
1 1 1
o
o
2
1 1
1 1
No
Yes

子任务设置

  • 子任务 1(30 分):N≤3000N \le 3000,K≤30K \le 30,Q≤100Q \le 100(允许 O(QNK)O(QNK) 的暴力做法通过)。
  • 子任务 2(30 分):K≤30K \le 30 且 Q≤2000Q \le 2000。
  • 子任务 3(40 分):无特殊限制。