文字列に関するカテゴリーです。

AOJ, 動的計画法, 文字列

問題方針

動的計画法を行います。\( d(i, j) \) を \( t \) の \( j \) 番目までの部分文字列において、\( b \) の \( j \) 番目までの部分文字列の出現回数とします。初期値は、\( d(i, 0) ...

AtCoder, 文字列

問題方針

\( n = |S| \) とします。\( S_3 , \ S_4 \) を固定して考えます。\( S \) の \( i \) 文字目から \( j \) 文字目までの部分文字列を \( S(i, j) \) \( (0 \ ...

yukicoder, 文字列

問題方針

順列に関する問題です。ライブラリの prev_permutation() を利用しましょう。

コード

 

AOJ, 実装, 文字列

問題方針

制約が緩いので愚直に文字列を走査していきます。

古い看板から作ることができる看板の例を考えます。例えば、お店の名前の文字列の長さが \( 3 \) であり、古い看板の文字列の長さが \( 7 \) のとき、文字列の ...

AtCoder, 数え上げ, 文字列

問題方針

条件を満たす整数列を作ります。まず初めに、\( a_i = 0 \ ( 1 \leq i \leq N) \) とします。次に、文字列の先頭から末尾に向かって、\( S_i = \) ‘<‘ なら ...

AtCoder, 文字列

問題方針

文字列を先頭から調べていきます。連続する文字を一つとしてカウントするので、\( c = S_0\) として、\( c \) と異なる文字が出現したときカウンタを回し、文字を更新します。

コード

AtCoder, 文字列

問題方針同じ文字が連続する文字列のコスト

長さが \( n \) の単一の文字からなる文字列をどの隣り合う \( 2 \) 文字を相異なる文字列にするために必要なコストは、

\

となります。例えば、\( n = ...

AtCoder, 文字列

問題方針

幸福でない人に着目して考えます。幸福でない人の文字列は、”RL” または “LR” となっているので、同じ文字が連続する文字列は幸福である人を含んでいるので、\( S \) を圧 ...

Codeforces, 文字列

問題方針括弧列の対応

どのようなとき、括弧列の対応が取れるかを考えると、既に括弧の対応が取れている括弧列を連結させるとペアが一組できます。ここで、ある括弧列を S とします。括弧の対応が取れる括弧列は、S を先頭から調べていき、R ...