Processing math: 100%

2025年5月15日木曜日

AtCoder Regular Contest 197 (Div. 2)

 Dまで四完。

コンテスト後のツイート

E - Four Square Tiles

 解説AC。

 二項係数でどうにかするのでは? という気持ちになるのが大切だったか? 中央の重なりがない場合については、そういう気持ちになれば求められたと思う。

 しかし、中央に重なりがある場合も、それと独立に、二項係数で表せると気付くのは難しかったと思う。
 ただ、中央に重なりがない場合が二項係数で表せたなら、正しい答えも二項係数の足し引きで表せるのでは? と思って実験し、正しい答へ辿り着けた可能性はあるか。

2025年5月14日水曜日

AtCoder Beginner Contest 405(Promotion of AtCoder Career Design DAY)

 Fまで。

コンテスト後のツイート

G - Range Shuffle Query

 ACできなかったのは仕方ないが、Mo+セグ木の解法は自力で思いつかなくてはいけなかった。

 平方分割するとセグ木を使うより計算量が良くなることは知らなかった。頭に入れておきたい。

 ところで、Moを書くときは、区間を広げた後、縮めていくように書くべきだということも知らなかった。今回、PyPyでTLEを取ることができず、ChatGPTにRUSTに直してもらったのだが、それが原因で配列外参照が起こってしまった。原因が分からず大分苦労した。

2025年5月13日火曜日

Codeforces Round 1024 (Div. 1)

 ABDの三完。

コンテスト後のツイート

C. 23 Kingdom

 解説を見たがそのままは理解できず。

 使う個数xを固定した場合、「x,x-1,...,1の順に、できるだけ左にあるものを貪欲に使う」「x,x-1,...,1の順に、できるだけ右にあるものを貪欲に使う」として取ったものを合わせれば良いことは分かった。

 それを三分探索すればACできるというコメントを見て、AC。PyPyじゃ間に合わないので、ChatGPTにRUSTに直してもらった。

 もっと良い方法があるようだが理解できていない。




2025年5月7日水曜日

AtCoder Beginner Contest 404(Promotion for Engineer Guild)

 Eまで五完。

コンテスト後のツイート

F - Lost and Pound

 解説AC。解説放送も見た。

 分割数全部調べる方法は理解できたけれど、DP内でDPする方法の方が理解できず苦戦した。

 結局自分で(再帰で)書いて見たらACコードは書けたけど、かなり難しく感じた。

 残りターンT回、残り押さなくてはいけない回数K回のときの勝率をcalc(T,K)、とし、
(残りターンT回のとき)残りボタンを押す回数M回、kai回押す場所を決め、残り押さなくてはいけない回数x回のときの勝率をcalc2(M,kai,x)という関数を定義し、計算した。

 引っ掛かっていたのは、kaiという変数が必要なこと。
 kai回当たらなかった場合、当たりのボタンはN-kai個の中に含まれるので、当たりの確率は上がっているはず。

 解説や解説放送のDPではこれをどう処理しているのかが分からなかったので、必要ないのか? と思ったけど、やっぱり必要でした。
 snukeさんのコードだと、26行目に(n-i)を掛けているのがそれに当たるんですね。

 再帰だと(多分)同等なコードが書けるけど、このDPを書くのは難しい……。確率DPは再帰じゃないと書けないかもしれない。

 

G - Specified Range Sums

 解説放送を見てAC。

 牛ゲーは、解説を見れば理解できるけど自力で構成するのは難しい。
 牛ゲーじゃないかと思ったときは、けんちょんさんのこの記事を見るのが良いかもしれない。


2025年5月3日土曜日

yukicoder contest 466 オムニバスコンテスト

 ABDの三完。


No.3134 二分探索木

 自力AC。コンテスト中は思いつかなかった。

 二分探索木を構築する部分が難しい。
 単純な方針だとできなそうに思えたため、SortedSetを使う方針を考えたら上手くいった。

 使ってなさそうな提出もあるけど、大抵の提出では使ってそうだし、まあ良いかな(?)

 ※逆順列のCartesianTreeを作ると良いらしいです。

No.3137 Non-Intersect Chord Triangle Game

 解説AC。
 葵ちゃんの行動を誤読していたのでそもそもダメだが、正しく捉えていたとしても解けたとは思えない。

 小さく、かつ弦のない円で実験したとき、2頂点、6頂点で茜ちゃんが勝つ、と正しく把握できたら考察を進められそう。