問題一覧 > 通常問題

No.2933 Range ROT Query

レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 12
作問者 : loop0919loop0919 / テスター : hirayuu_ychirayuu_yc 👑 KA37RIKA37RI nouka28nouka28 amesyuamesyu kusirakusirakusirakusira tnodinotnodino Nyaa UruzuNyaa Uruzu
0 ProblemId : 11322 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-10-11 22:24:34

問題文

英小文字からなる文字列 $S$ と文字列 $T$ が与えられます。
$Q$ 個のクエリについて順に処理してください。各クエリは以下のように表現されます。

  • 1 l r x : $S[l:r]$ の各文字に対し、 $\mathrm{ROT} ~ x$ を行う。
  • 2 l r x : $T[l:r]$ の各文字に対し、 $\mathrm{ROT} ~ x$ を行う。
  • 3 p : 辞書順で $S[p:|S|]$ が $T[p:|T|]$ より大きいとき Greater、等しいとき Equals、小さいとき Lesser を出力する。

ここで、文字列 $X$ と整数 $l, r ~ (1 \le l \le r \le |X|)$に対し $X[l:r]$ とは、$X$ の $l$ 文字目から $r$ 文字目までの部分文字列を指します。

また、文字 $\alpha$ に対し $\mathrm{ROT} ~ x$ を行うとは、$\alpha$ をアルファベット順で $x$ 個後の英小文字に更新することを指します。
ただし、アルファベット順で z の $1$ 個後の英小文字を a とします。

制約

  • $1 \le Q \le 2 \times 10^5$
  • $S, T$ は英小文字からなる長さ $1$ 以上 $2 \times 10^5$ 以下の文字列である
  • 1 l r x のクエリについて、$1 \le l \le r \le |S|$
  • 2 l r x のクエリについて、$1 \le l \le r \le |T|$
  • $0 \le x \le 25$
  • $1 \le p \le \min \{|S|, |T|\}$
  • $Q, l, r, x, p$ は整数である

入力

入力は以下の形式で標準入力から与えられる。

$S$
$T$
$Q$
$\mathrm{query}_1$
$\mathrm{query}_2$
$\vdots$
$\mathrm{query}_Q$

ここで、$\mathrm{query}_k$ は $k$ 個目のクエリであり、以下のいずれかの形式で与えられる。

$1$ $l$ $r$ $x$
$2$ $l$ $r$ $x$
$3$ $p$

出力

3 p のクエリの個数を $q$ 個としたとき、$q$ 行出力せよ。$k$ 行目には $k$ 個目の 3 p のクエリの答えを出力せよ。

サンプル

サンプル1
入力
green
brown
8
3 1
1 3 5 13
3 2
2 1 5 5
1 2 4 10
2 5 5 8
3 4
3 1
出力
Greater
Greater
Equals
Lesser

はじめ $S = $ green、$T = $ brown です。各クエリについて以下のことが言えます。

  • $1$ 個目のクエリについて、$S[1:5] = $ green $, ~ T[1:5] = $ brown です。辞書順で $S[1:5]$ は $T[1:5]$ より大きいです。
  • $2$ 個目のクエリについて、$S[3:5]$ の各文字に対し $\mathrm{ROT} ~ 13$ を行います。$S = $ grrra に更新されます。
  • $3$ 個目のクエリについて、$S[2:5] = $ rrra $, ~ T[2:5] = $ rown です。辞書順で $S[2:5]$ は $T[2:5]$ より大きいです。
  • $4$ 個目のクエリについて、$T[1:5]$ の各文字に対し $\mathrm{ROT} ~ 5$ を行います。$T = $ gwtbs に更新されます。
  • $5$ 個目のクエリについて、$S[2:4]$ の各文字に対し $\mathrm{ROT} ~ 10$ を行います。$S = $ gbbba に更新されます。
  • $6$ 個目のクエリについて、$T[5:5]$ の各文字に対し $\mathrm{ROT} ~ 8$ を行います。$T = $ gwtba に更新されます。
  • $7$ 個目のクエリについて、$S[4:5] = $ ba $, ~ T[4:5] = $ ba です。辞書順で $S[4:5]$ と $T[4:5]$ は等しいです。
  • $8$ 個目のクエリについて、$S[1:5] = $ gbbba $, ~ T[1:5] = $ gwtba です。辞書順で $S[1:5]$ は $T[1:5]$ より小さいです。
サンプル2
入力
helloworld
abcdefg
11
1 5 5 7
2 1 7 7
2 2 2 3
1 7 10 25
1 4 6 16
3 5
3 4
2 2 6 25
2 2 3 20
1 3 4 17
3 1
出力
Greater
Lesser
Greater

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。