2023年8月7日月曜日

Codeforces Round 890 (Div. 2) supported by Constructor Institute

 A, B, E1の三完。Cが解けなかった!

コンテスト後のツイート

C. To Become Max

 解説AC。

 最初、二乗が通らない制約だと勘違いしていて、途中で二乗が通ると気付き、足す区間[l, r]の全探索を考えていた。
 が、これは筋が悪い。累積和との差分を使ったりすればコストが求まる気がしていたが、途中で膨らんだりした部分があるとコスト計算が正しくなくなる。このことにコンテスト中は気付いていなかった。

 あるindexをmまで上げるのに必要なコストは? と考えて、このmを二分探索で解くのが正しい解法だった。これもそれぞれO(n)かかるので、二乗+二分探索のlogで解ける。

0 件のコメント:

コメントを投稿