典型90問 まとめ 021~030
022 - Cubic Cake(★2)
できる立方体のうち最も大きいモノを考えるとその一辺は である。
実際そうなるように分割したときの操作の回数が今回求めたい最小回数である。
各面に対して何回操作を行うかと考えることでその回数は
と求まる。
024 - Select +/- One(★2)
をに合わせるのに必要な操作の最小回数はである。
このがを満たしかつであることがちょうど回でをに合わせられるための必要十分条件。
026 - Independent Set on a Tree(★4)
木は二部グラフである!!!!
私はこれが思いつかなくて結局解説を見た。
隣り合う木に順に黒と白の色を塗っていってグループ分けする。すると同じ色に属する木は隣り合わないので黒と白のグループのうち大きい方を出力すれば良い。
027 - Sign Up Requests (★2)
set型を使うとin演算子が高速で動作する。これを使うと簡単。 AC
参考↓ Pythonで"in list"から"in set"に変えただけで爆速になった件とその理由 - Qiita
028 - Cluttered Paper(★4)
いもす法を使う。私はいもす法をあんまり使ったことがなかったのでちょっと実装に手間取った。
参考↓