UNICORNプログラミングコンテスト2021(ABC225) E - フ (500)
最初の考察
フの前後関係をグラフで表わし、後ろに無い物だけ残せば良いのでは
一つの前に二つが塞がっている場合などそうで無い場合がある
最終的な考察
偏角ソートで解く
$ i番目まで使ったときの最大数を保存しておく
それぞれのフで以下を行う
自身の右端を超える左端の角度を持つフが何番目か確認
その手前までのを最終とした場合の最大値に1加えた物がこのフを利用した場合の最大数
偏角ソートやそれぞれのフで超える部分を確認したりセグ木を更新したりする部分がボトルネックで$ \mathcal{O}(N \log N)