[AtCoder] AGC 037 A – Dividing a String
下記の方針は間違いを含んでいるので追記を見てください。
文字列 \( S \) の部分文字列に、それぞれの隣接する部分文字列が異なるように分割したときの最大値を求めます。このとき、部分文字列は最長でも \( 2 \ ...
[AtCoder] ABC 137 D – Summer Vacation
「明日できることは今日するな」ということで、締め切りから考えていきます。残り \( i \) 日あるとき、まだ請け負っていないアルバイトに対して \( A_j \leq i \) を満たすものの中で報酬が一番大きいものを選びま ...
[AtCoder] ABC 137 C – Green Bin
各文字列を構成する文字の種類と数が同じであれば、同じ文字列を構成できるので、文字列の文字を整列させマップなどでカウントすれば良いです。構成要素が同じ文字列の個数を \( v \) とすると、アナグラムの個数は、
\ ...
[AtCoder] ABC 135 B – 0 or 1 Swap
元の配列と昇順に整列させた配列を比べて、異なる箇所が \( 2 \) 箇所以下であれば、昇順にすることができます。
コード#include <bits/stdc++.h>using namespace std ...
[AtCoder] ABC 136 D – Gathering Children
どのような文字列でも十分に移動を行うと、’RL’ または ‘LR’ という二つのマスを行き来することになります。また、’RL’ という文 ...
[AtCoder] ABC 136 C – Build Stairs
あるマス \( i \) について、\( H_{i – 1} > H_{i} \) ならば、単調非減少とはなりません。\( H_{i-1} = H_{i} \) ならば、何もせず、\( H_{i – ...
[AtCoder] ABC 135 D – Digits Parade
\( d(i, j) \) を \( i \) 桁目までの調べた時、余りが \( j \) となるものの個数とします。初期値として、\( d(0, 0) = 1 \) とします。
\( S_i = ?\) のと ...
[AtCoder] ABC 135 C – City Savers
\( i \) 番目の勇者が \( i \) 番目のモンスターを可能な限り倒し、\( i + 1 \) 番目のモンスターを可能な限り倒します。これを \( 1 \) 番目の勇者から順番にシミュレーションします。
コード# ...
[Codeforces] Educational Codeforces Round 69 (Div. 2) C. Array Splitting
\( a \) が昇順に整列されていることが重要です。
偏差に着目する\( e_i = a_{i + 1} – a_{i} \) とすると、\( l < r \) として、
\ ...
[Codeforces] Educational Codeforces Round 69 (Div. 2) B. Pillars
柱を \( a_1 < a_2 < \cdots < a_n \) のように並び替えることができるかという問題です。どのようにして整列させるかというと、\( a \) を昇順に整列させた配列を \( b \) ...