☺️
JavaScriptでABC416 (A-D)
A - Vacation Validation
LからRまでforループを回して、xが来たらreturnで早期離脱してあげればいいかと
1分23秒 AC!
B - 1D Akari
Bは愚直……愚直?やることは単純ではある
Daily Akariの1次元版ってことだな?!
「.が来たときにoを置く、それ以降は#が来るまでoを置かない」でクリアできますね
5分06秒 AC!
C - Concat (X-th)
今回はCが愚直ですね
並び替える対象を全列挙するのが大変ですね
私はbit全探索の要領で、「N進数K桁以下の数(をK桁になるよう0埋めしたもの)のi桁目がi番目に選んだ文字」みたいな列挙の仕方をしました
列挙したら辞書順に並べるのはArray.prototype.sort()にぶん投げればよくて、あとは0オリジンなことだけ注意するくらいでしょうか
んあ?(RE)
……1進数ねーじゃん!
S[0]をS[0]を
もったいねえ〜
18分55秒 AC! (1ペナ)
D - Match, Mod, Minimize 2
事実上「Aから1つ、Bから1つ好きなものを取り出してmod Mをして余った数字を足すとき、その最小はいくつ?」ですね
で、制約を見ると、どう選んでも
// やること
// - 変数countを用意して0で初期化する
// - 両方の配列が空になるまで以下を繰り返す
// - Bがすでに空ならループ終わり
// - (並び替え後の)AとBの末尾をpopで持って来る(a, bとする)(undefinedは0扱い)
// - a+b>=Mなら
// - countを1増やす
// - そうでないなら
// - aを(並び替え後の)Aの末尾に戻す(push)
// - このとき、Aの合計+Bの合計-(count*M)が答えになると思う
51分09秒 AC!
E-G
わからんよ〜
Eはワーシャルフロイドっぽいな〜とは思いましたがTLE
Perfomance
- perf : 1089
- レート変化 : 789 → 823 (+34)
感想
緑戻ってきました!!偉い
Cで1ペナ食らったのがもったいないですが、まあDまで1時間以内で解けたら上出来でしょう
グラフクラスは用意しといたほうが良さそうだね
過去のABCも似たような記事を書いています。よければそちらもどうぞ。
Discussion