2026年9月8日火曜日

AtCoder Beginner Contest 474

 F解けず六完。早めにGに行ったおかげだけど、レートが上がって嬉しい。

コンテスト後のツイート

F - Increment All Divisors

 自力AC。

 コンテスト中の方針で、判定方法を変え、三分探索にしたらACできた。
 判定方法は、「揃えたい数字との差の絶対値、の和」これが最小になるものを探した。

 凸性は示してないけれど……。
 公式解説を見ると、一次式の和であることを利用して解いている。これなら凸になりそう?(分かっていません)





2026年9月7日月曜日

AtCoder Regular Contest-- 229

 ACDEの四完。

コンテスト後のツイート

B - Halving Subtraction

 解説AC。

 全く考えていない方針だったのでびっくりした。
 Nが小さいからシミュレーションみたいなことをするのでは? という方向性でしか考えられなくなった時点で負けている。
 全ての要素を0にすることは可能か? と考えて必要条件で絞っていかなくてはいけなかったが、一旦まずい方針にハマると難しかった。




2026年9月4日金曜日

AtCoder Talent Quest 〜 今から28卒には脱出してもらいます〜予選(AtCoder Beginner Contest 472)

 Gが解けず。

コンテスト後のツイート

G - Cascading Grid

 「燃やす埋める」だと聞いても解法が分からず、けんちょんさんが最近出した記事を読んでAC。
 が、この記事の解法通りの方法は思いつけず、グリッド中の、#でない最も左端の頂点だけを取り出し、そこから左右だけを見たときのスコアの増減を見て、その頂点同士の木構造を調べて、ようやく燃やす埋める問題に直せてACできた。

 その後、けんちょんさんの解法も理解してACしたけど、その実装にも苦戦。

 「燃やす埋める」の中では簡単な問題と書いている人もいたが、個人的には簡単に思えなかった。もっと慣れたら違うのかなぁ。

2026年8月31日月曜日

AtCoder Regular Contest++ 228

 一問も解けずおしまい。しかし、Bは解けなくてはいけない問題だった。

コンテスト後のツイート


B - Minimize Topological Order

 コンテスト中の方針でAC。
 値を変更したらセグ木の更新を二ヶ所しなくてはいけないのに、一ヶ所しかしていなかったせいでした。

 最初にとりあえず一列に並べて置いて、後ろの一段を先祖のどこかへ付け替える……と考えていたのがまずかった模様。これだと正当性がよく分からないし、葉から考えるのが自然(?)にも思える。

 根から順番に木を構成すると考えれば貪欲の正当性も分かりやすかった。
 

AtCoder Beginner Contest 473

 久しぶりの全完だが、良い順位とは言えず。

 Dは「最後の一要素を場合分け」が正当であったらしい。確かに、これをすれば無駄な探索を省けるが、こういう枝狩りみたいなのを要求されるると思っていなかったため、思いついた後も正しい解法とは思えなかった。

コンテスト後のツイート





2026年8月21日金曜日

JPRSプログラミングコンテスト2026#2 (AtCoder Beginner Contest 470)

 既出に気付けたおかげで、久しぶりに2400パフォを獲得。全完チャンスだったねぇ。

コンテスト後のツイート



E - Concentration

 自力AC。
 DP[x毎既知][y毎取得][z消費ライフ]とする方針で合っていた。

 コンテスト中は、y枚取得しているとき残っているカードの枚数をN-yにするのを忘れて、yのまま計算していたため答えが合わなかった。
 これくらい気付いて欲しいものなのだが、今(コンテスト後)にコードを見直したときも気付けず、デバッグ出力を行って気付けたので、コンテスト中に気付けないのは仕方ないのかなぁ。

2026年8月18日火曜日

AtCoder Regular Contest 227

 AB二完。

コンテスト後のツイート

D - Median of Binary Strings

 解説放送を見てAC。

 全く思いつかなかったのでどうしようもない。なかなか天才的な発想が必要だった。
 これはコンテスト中に解けた気がしないので、他の問題にいくべきでした。