Logo
(追記) (追記ここまで)

28528번 - Портальная пушка 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 1024 MB0000.000%

문제

Рик прекрасно знает, что Морти нельзя доверять портальную пушку, но в последнее время Морти так надоел ему просьбами подарить ему собственную портальную пушку, что Рик сдался и сделал ему мини-версию.

Однако, чтобы Морти при этом как-то развивался (или просто чтобы ему было сложнее ее использовать), Рик сделал ее устройство достаточно запутанным. Всего на портальной пушке Морти есть $n$ параметров, каждый из которых может принимать значения от 'a' до 'z'. Обозначим параметр под номером $i$ за $p_i$.

За одно действие Морти может:

  • выбрать произвольный номер параметра $i$ от 1ドル$ до $n$ и изменить его значение на произвольное другое $c$ от 'a' до 'z';
  • выбрать два возможных значения $c_1$ и $c_2$ от 'a' до 'z' и заменить значение у всех параметров, текущее значение которых равно $c_1,ドル на $c_2$;
  • проверить, можно ли создать порталы в локациях с идентификаторами $(l_1, r_1)$ и $(l_2, r_2)$ (где $l_1 \leqslant r_1$ и $l_2 \leqslant r_2$) --- для этого набор параметров на позициях $[l_1, r_1]$ должен поэлементно совпадать с набором параметров на позициях $[l_2, r_2],ドル то есть должно выполняться

$$\begin{cases} r_1 - l_1 = r_2 - l_2 \\ p_{l_1 + i} = p_{l_2 + i} & \text{для всех } 0 \leqslant i \leqslant r_1 - l_1 \end{cases}\text{.}$$

Поскольку Морти не шибко умный, ему сложно быстро проверять наборы параметров на равенство, а случайно сломать портальную пушку не хотелось бы. Помогите ему для каждого действия третьего типа понять, может ли он создать порталы в желаемых локациях, или нет.

입력

В первой строке ввода дана строка $p$ длины $n,ドル состоящая из маленьких латинских букв --- изначальные значения параметров пушки (1ドル \leqslant n \leqslant 2 \cdot 10^5$).

В следующей строке дано единственное целое число $q$ --- количество действий, которые совершает Морти (1ドル \leqslant q \leqslant 2 \cdot 10^5$).

В следующих $q$ строках перечислены описания действий:

  • <<1 $i$ $c$>> --- присвоить $i$-му параметру значение $c$ (1ドル \leqslant i \leqslant n$; $\text{'a'} \leqslant c \leqslant \text{'z'}$);
  • <<2 $c_1$ $c_2$>> --- заменить все значения всех параметров, равных $c_1,ドル на $c_2$ ($\text{'a'} \leqslant c_1, c_2 \leqslant \text{'z'}$);
  • <<3 $l_1$ $r_1$ $l_2$ $r_2$>> --- проверить возможность создания порталов в локациях $(l_1, r_1)$ и $(l_2, r_2)$ (1ドル \leqslant l_1, r_1, l_2, r_2 \leqslant n$; $l_1 \leqslant r_1$; $l_2 \leqslant r_2$).

출력

На каждое действие третьего типа выведите в отдельной строке <<YES>> (без кавычек), если Морти может его выполнить, и <<NO>> иначе.

제한

예제 입력 1

aaabc
6
3 1 2 2 3
1 4 c
2 c a
3 1 4 2 5
1 3 x
3 1 4 2 5

예제 출력 1

YES
YES
NO

예제 입력 2

abracadabra
7
3 1 4 8 11
1 7 r
2 a c
2 b c
3 1 4 8 11
3 1 4 5 8
3 2 4 6 8

예제 출력 2

YES
YES
YES
YES

힌트

출처

Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2022-2023 Season > October 9, 2022 > Advanced H번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /