2023/7/2(日)

何を血迷ったか、ひがな一日鬼滅のクソコラとかワンピースの胡乱語りとかそういうのを見ていた。あとクルクルランドとゼビウスをやっていた。クルクルランドは13面まで到達したが20面とか行ける気がしない。


ARC163に出た。

A: もし3つ以上に分割して条件を満たせる場合、2番目以降を全部連結しても必ず成り立つため、2分割のみ考えればよい。普通に全探索すればO(N^2)で解ける。

B: 最初見事に引っかかったが、A1A2も動かせる。そして、A3以降を頑張って1つづつ動かすくらいならA1A2を動かすのが最良。A3以降をソートし、どの範囲の値でM個以上の条件を満たすかを探索すればよい。

C: 使える式生えてこないかなといろいろやると、1/A=1/(A+1)+1/A(A+1)が生えてくるので、これを使う。N=3のときの1/2+1/3+1/6を起点にして、先頭から上記の式による分解が出来ないか試していく。集合の管理にsetを使えば$O(N^2\log N)$で出来るので、クエリ先読みにすれば計算量的には間に合う。

問題はN=500で10^9以下に収まるかどうかだが、実験してみたところ全然収まるのでこれでOK。

D: 解けず。勝ち筋は見えたと思ったが違ってそう。

Categories: