AtCoder AtCoder BC103 D: Islands War 問題 解法 最初に(ai, bi)の組み合わせについて、a→bの順番でソートします。 そして、ソート後の組み合わせについて、昇順に橋を落とす範囲を求めていきます。 その場合、i番目とi+1番目について... 2018.07.22 AtCoder競技プログラミング
AtCoder AtCoder BC103 C: Modulo Summation 問題 解法 m mod ai が最大になるのは、mがaiの倍数-1の時で、余りはai-1になる。 よって、mがa1,a2,,,anの最小公倍数-1の時にf(m)は最大になる。 最大値を求めるだけなら最... 2018.07.22 AtCoder競技プログラミング
AtCoder AtCoder BC103 B: String Rotation 問題 解法 文字列の長さが最大100と短いため、全パターンを確かめて比較するだけでOK 実装 2018.07.22 AtCoder競技プログラミング
AtCoder AtCoder GC020 A: Digit Sum 2 問題 解法 各自がとるべき戦略を考えるにあたり、まずはどのような状態で勝敗が確定するかを考えます。 勝敗が確定するのは、以下のように片方が端っこに追いやられた状態で、次のターンがまわってくる場合です。 ... 2018.07.11 AtCoder競技プログラミング
AtCoder AtCoder BC098 C: Attention 問題 解法 ある人をリーダーに選んだ場合、 西から東に向きを変える人の数 = 選んだ人より西の人の内、西を向いている人の数 東から西に向きを変える人の数 = 選んだ人より東の人の内、東を向いている人の数 ... 2018.07.11 AtCoder競技プログラミング
AtCoder AtCoder BC098 B: Cut and Count 問題 解法 文字列のサイズが最大でも100なので、全ての切断箇所のパターンで「どちらにも含まれる文字」の種類を数え上げれば解けます。 Rubyの場合、配列の「&」をとると共通部分が求められるので、実装は以下... 2018.07.11 AtCoder競技プログラミング