Processing math: 100%

2025年4月3日木曜日

April Fools Day Contest 2025

 ADの二完。


B. Plinko

 自力では解けず。
 0~17におくとゲームをプレイしなくてはいけないが、その外側におけば良かった。これは思いつきたかった。

C. Would It Be Unrated?

 解説AC。
 一つACが出るまでできることがなくないか?

D. Where Am I?

 写真を検索するとラスベガスだと分かるので、その緯度と経度を書く問題。それっぽい提出をしても「very close!」などと返ってきて、submitデバッグするしかなかった。
 ……が、もっと狭い範囲に絞れたらしい。

2025年3月30日日曜日

AtCoder Beginner Contest 399

  Eまで。

コンテスト後のツイート

F - Range Power Sum

 解説AC。

 「積の和典型」とも呼ばれる、組み合わせに帰着して解く問題。この解法、何度見ても解けるようにならないのだが……。
 コンテスト中に「積の和典型」で検索したのに解けておらず、辛い。





yukicoder contest 462

 AHCがあるのでAだけ解いて撤退した。


No.3075 Mex Recurrence Formula

 自力AC。

 実験するとN+1周期になると分かった。MEXを求めるところを愚直にやってしまったためTLEしたが、heapqを使えば良いと気付きAC。

No.3076 Goodstuff Deck Builder

 自力AC。これは迷わなかった。

 コストが大きい方から使うのが良い。残りのコストと、カードを使った回数をもってDPすればOK。

2025年3月27日木曜日

Codeforces Round 1013 (Div. 3)

 全完。
 Div. 3も最近は全完を逃していたことが多いので、今回は全完できて良かった。

コンテスト後のツイート

2025年3月24日月曜日

AtCoder Regular Contest 195 (Div. 2)

 三完はしたがレートは落ちた。Bは同じ解法で通している人を何人か見かけた。

コンテスト後のツイート

B - Uniform Sum

 嘘だと思ったが、(嘘かもしれないけど)それほど嘘ではなかった。

 A, Bがdistinctだとすると、S=A[i]+B[j]が何個ずつ現れるかをカウントすれば、それを見るだけで判定できる。
 今回はdistinctじゃないのでもう一工夫必要だが、大体それで良かった。

 distinctなら上手くできるのでは? と考えるべきでした。

D - Swap and Erase

 解説AC。

 コンテスト中に考えていた貪欲(左から見ていき、A[0]==A[2]ならA[1]とA[2]をswapする)がどういうときまずいのか気付けなかったのが敗因。

 たとえば、

・1 2 1 1 1

 のときまずかった。A[0]とA[1]をswapしなくてはいけないときもある。

 Aの各要素が高々一回しかswapされないというのは言われてみれば自然だし、貪欲でダメと分かればDPしようと思えた可能性はあるかもしれない。

E - Random Tree Distance

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

 まず、lcaを考える(u,vの距離を、D[u]+D[v]-2*D[lca]とする。D[x]は1からxまでの距離です)のはすべきだった。lcaがどこにあるか分からないから、lcaを考えることで状況が良くなるとすぐには思えないけれど、これはまずして良いですね。

 あとは、D[lca(u,v)]が、u<vのときvの値によらないと気付けるか、だが、これは実験していれば気付けるかもしれない。しかし、その後、D[lca]に関する漸化式を立てる部分が理解できず、解説を見ながら悩んでしまった。lcaが再帰的に決まっていく、と考えれば難しい式ではないのだが……。

 発想があった方が良い部分(D[lca(u,v)]が、u<vのときvの値によらないと気付く部分)もあるけれど、それ以外の定石的な部分でも詰まっているので、その部分はどうにかしたい。
 

2025年3月23日日曜日

AtCoder Heuristic Contest 044

 98位。

 コンテスト中バグらせて書き終わらなかった方針を最後まで書いていれば30位くらいにはなったので、惜しかったといえば惜しかった。

コンテスト後のツイート




Codeforces Round 1011 (Div. 2)

 Cまで三完というまずい成績。

コンテスト後のツイート

D. Serval and Kaitenzushi Buffet

 解説AC。
 heapqを使って上手くやる問題だと見てすぐ思い、それはあっていたのだが……。

 後ろから見てheapqで、それまでで最も良いのを出していく感じだと考えてしまったが、これだと上手くいかない。

 寿司を取る回数の最大回数が決まり、その回数だけ取るべき、というのが重要。そうすると、一回目、二回目……について、どの範囲の寿司から取れるかが定まり、heapqで答えを求めることができる。

 各回について、どの範囲の寿司を取ることができるかと考えなくてはいけなかった。愚直解(DP)と比較し、自分の解法がどういうケースで落ちるかも分かったのだけど、答えにたどりつけず。こういうときはどうすれば良いのだろうか……。

E. Serval and Modulo

 解法ツイートを見てAC。
 kはsum(A)-sum(B)の約数になる。言われてみれば確かに……。