近況
今週(広義)解いたAtCoderの問題たちです(黄diff以上)
AGC055 B - ABC Supremacy 🟨
(問題文)
状態 に操作を施して状態
にできますか?みたいな問題、(逆操作が存在する場合は )「
に操作を施して同じ状態
にできますか?」と言い換えると見通しが良くなりがちな気がする。
これを念頭に操作を観察していると xABC を ABCx に変換できることに気づくので、ABCABCABCxx...xx みたいなやつを共通のゴール に据えると解けそう→AC。
解説「 が well-defined であることは明らかではありません。」→失礼しました…
(提出)
ARC057 B - 高橋君ゲーム 🧪🟨
(問題文)
日間で
回以下ゲームに勝った場合の答えは簡単なDPで求まる。
勝ち数が増えたからと言うて機嫌のいい日が増えるとは限らない(例:サンプル2)のが悩ましいところやけど、そうなるのは なときだけだと思う(勘)ので解けた。
(提出)
ABC129 F - Takahashi's Basics in Education and Learning 🟧
(問題文)
愚直に計算すると とかになるけど、平方分割の要領で
項ずつ計算していくと
になった。
しかし なのでまだ微妙。そこでもう一度同じ要領で高速化すると、なぜか
になって通った。
そんなはずはないと思うので、どこかが二度手間ザウルスやったんやろなあ。
(提出)
ABC128 F - Frog Jump 🟧
(問題文)
が
を割り切るとき、戻ってきた先に蓮がなくて溺れうるので注意する。
ある があって
回目のジャンプでぴったりゴールしなきゃだめなので、
が必要。
→ を全探索する。
の組として考えられる個数は
から
の約数の個数の和で抑えられて、これはまあ許せる個数そう。
→ あとは各 でシミュレーションしていけば解けそう。
最後のシミュレーションが間に合うか諸説あるところやけど、小さい の場合を前計算しておいたら通った。
(提出)
ABC135 F - Strings of Eternity 🟨
(問題文)
文字列の一致判定が高速にできると、グラフの最長パス?を求める問題に落ちるので解ける。
非本質なはずのグラフパートで無限に手こずってしまって悲しい。
以下学び
- DAG の最長パスはトポロジカルソートからのDPで簡単に求まる。
- トポロジカルソートに失敗すればDAGじゃない→サイクルがある。
今回はサイクルがあれば答えは必ず なので、これで解けた。
(提出)