Kazun の競プロ記録

競技プログラミングに関する様々な話題を執筆します.

AtCoder Beginner Contest 233 B 問題 A Reverse

問題

atcoder.jp

提出解答

atcoder.jp

問題の概要

文字列  S の第  L 文字目から第  R 文字目までの部分を反転させた文字列を求めよ.

制約

  •  S は英小文字からなる文字列
  •  1 \leq |S| \leq 10^5
  •  1 \leq L \leq R \leq |S|

解法

文字列  T の第  X 文字目から  Y 文字目を抜き出した文字列を  T[X:Y] , 文字列  T を反転させた文字列を  \overline{T}, 文字列  T,U をこの順に連結させた文字列を  T \oplus U とする.

このとき, 出力するべき文字列は  S[1:L-1] \oplus \overline{S[L:R]} \oplus S[R+1: |S| ] である. 使う言語によって細かな違いがあるので注意すること.