2026年2月25日水曜日

AtCoder Regular Contest 215

 Cまで三完。良い成績とはいえないが、ARCで黄パフォを出せたのは久しぶり。

コンテスト後のツイート

D - cresc.

 解法ツイートを参考にAC。

 Aの一つおきの配列が広義単調増加になることはコンテスト中に気付いていた。しかし、それだけだと重複があってダメ。

 じゃあ、重複をなくすためどこか固定・場合分けすればいいのでは? と考えるのが重要。

 A[0]=0とした場合、A[1],A[3],...は全ての広義単調増加列を取りうる。
 それ以外の場合、A[奇数]の最後の値がMにならなくてはダメ。なぜなら、A[偶数]を全てー1したものが同じ配列を作るから。

 これで重複なく全て数えられているので、二項係数を使って計算できる。


 初項を固定・場合分けする発想がもてれば決して難しくないし、重複をなくすためにどこか固定してみようと考えるのは自然。
 今見ると難しくない気がする。

 また、二項係数の何か(積か和か)になりそうなことはコンテスト中から見当がついていたし、実験コードも書いていた。

 それで解けないのは、こういう二項係数を使う数え上げに苦手意識があるのかなぁ、と思ってしまう……。
 

 



AtCoder × Engineer Guild オンサイトコンテスト ~ACからはじまる27卒キャリア~予選 (AtCoder Beginner Contest 446)

 全完できた。
 簡単めの回とはいえ、全問解けると嬉しい。Gは想定の計算量ではなかったようだけども。

コンテスト後のツイート









2026年2月18日水曜日

AtCoder Regular Contest 214

 ABの二完。ARCで連敗が続く。

コンテスト後のツイート


D - Distinct Sum Grid Path

 コンテスト直後にしばらく考えても解けなかったが、今考えたら簡単に解けた。
 1から順に数字を作っていこうと考えるのは自然(コンテスト中も、まず考えたはずなのだが……)で、右上ルートより左下ルートが大きくなるようにしようとしたら自然に構築できる。

 普段なら解ける問題という気もするので、あまり解けなかった原因を考えてもしょうがない気もする。
 が、こういうのが解けるかどうかでレートには大きく差が出るんだよねぇ。









yukicoder contest 297

  Bまで。コンテスト後にCをAC。


No.1520 Zigzag Sum

 自力AC。
 実験したらACできたが解説の考え方を再現するのは難しい。

No.1521 Playing Musical Chairs Alone

 自力AC。
 行列累乗が思い浮かべば難しくない。

 一回遷移行列を間違えた(行と列を逆にした)けど、それでsample通るのね。

2026年2月17日火曜日

yukicoder contest 292

 Cまで。Dはコンテスト後にAC。



No.1490 スライムと爆弾

 自力AC。
 簡単だったけど、

・各マスのダメージがいくつかを求めるためのimos法
・矩形のダメージの総和を求めるためのimos法

 を両方やるので、二回累積和を取ることになるのが面白かった。




2026年2月15日日曜日

AtCoder Beginner Contest 445

 Fまで六完。Gも解法はあっていた。惜しかった。

コンテスト後のツイート

G - Knight Placement

 フローした後、最大独立集合を求めるために色を塗るところで、色を塗った後間違ってもう一回初期化してた(塗った色を消していた)のが敗因だった。一行消したらバグは取れ、そのままだとTLEしたけどfloat("inf")を1<<63に直したりしたらACした。
(ただし、1<<30にしたらもっと早くなるかな? と投げてみたらTLEしたので、運が良かっただけみたい。コンテスト中のACは厳しいかも?)

 惜しかった……。




2026年2月7日土曜日

yukicoder contest 492

 A一完。Bを考えているとき睡魔に襲われてしまった。

No.3441 Sort Permutation 2

 自力AC。

 index x→P[x]に辺を張り連結成分ごとに分解した後、その差のgcdがxなら、xの約数たちには連結成分-1をプラスする。
 と、これが必要条件なのはコンテスト中に分かっていたが、それ以外にも答が増えることはありそうに思い、たとえば、「3 4 2 1」のとき2を使わないようにできるか? と考えていた。
 コンテスト後に実験してみると、結構簡単に使わずにソートできたので、上で書いた必要条件が十分性を満たしそう、と思って提出したらAC。

 なお、これだけで良いことは、公式解説を開いても「帰納法などで証明可能」としか書いていなかった。現在も証明方針が分かっていないが、やろうとすれば自力で証明できるのだろうか(やる気はない)。