AtCoder Beginner Contest ABC426 解法メモ
文中で使用しているのは、PythonライクでAtCoderに最適な言語の1つNimです
ABC426
ABC426A - OS Versions
解法
"Ocelot", "Serval", "Lynx"を配列とし、
ACコード
ABC426B - The Odd One Out
解法
valueが
ACコード
メモ
Yes、Noだけと思い込み、toCountTableなどを始めてしまった
ABC426C - Upgrade Required
解法
次の
(
これはフェニック木
a=Xi-m+f[m+1..Xi]
として
f.add(Yi,a)
とすればよい
ACコード
メモ
バージョンは
ACコード
ABC426D - Pop and Insert
解法
仮に、すべてを
操作が可能な両端に1の塊があれば、操作によって、既存の
一方、両端に
合体先となる
つまり、ランレングス圧縮して、
すべて
と、
すべて
の、小さな方が答え
この考え方は、そもそも
ACコード
メモ
なぜか初めに「中央」にこだわってしまい、中央から左右端に向けて
ABC426E - Closest Moment
解法
各スタート地点からの
ただし、どちらかがゴールに到達して停止してしまうことで、
よって、「スタートからどちらかがゴールするまで」と、
「そこから両方がゴールするまで」に時間を分け、
各々で三分探索して最小値を求め、その
ACコード
メモ
片方が止まろうと極小値は
Discussion