N_noa21`s memo

競プロメインです

9/17~9/20

ここ最近のやつ

E - Add and Mex

結局0~200000までになる数はAiにiを加算より、iが大きくなると適する数がどんどん減って2000000くらいで済むやつ。思いつかなかった。

 

E - Notebook

根付き木の構築として考えればよかったが、気づかなかった。

ADDとかDELETEから頂点のことだと思えばよかったのか?

 

E - MST + 1

 

頂点1から最小全域木を作って、そのクエリの辺が追加されるのと最小全域木上でクエリの辺が結ぶ頂点がつながるの、どっちが先かな〜をしようとしたが、これだと3個以上の頂点を含むサイクルで他に辺がない場合のケースを考えられないので、全ての頂点から最小全域木をする必要になり?になるので、

クエリをまとめて重み順にしてから処理する。この処理の連結判定はUnionFindでする。で上手くいくらしい(クエリをまとめて処理、あまりやったことなかったから意識したい)

 

(追記):元々やりたかった解法がkyopro_friendsさんが書いてくれてたダブリング的なのでできるっぽいので調べてみると、アルゴリズムロジックというサイトが書いてくれてた、どちらもありがたい〜〜。

https://atcoder.jp/contests/abc235/editorial/3258

https://algo-logic.info/lca/