公式
L - 区間 / Segments 解説
by
L - 区間 / Segments 解説
by
leaf1415
与えられた \(N\) 個の区間 \([L_i, R_i]\) は、\(R_i\) の降順( \(R_i\) が等しい区間どうしはさらに \(L_i\) の昇順)にソートされていると仮定しても一般性を失いません。
このとき、良い集合 \(S = \lbrace i_1, i_2, \ldots, i_k \rbrace\) ( \(i_1 \lt i_2 \lt \cdots\lt i_k\) )は、数列 \(L \coloneqq (L_1, L_2, \ldots, L_N)\) の広義単調増加な(連続とは限らない)部分列 \( (L_{i_1}, L_{i_2}, \ldots, L_{i_k})\) と一対一に対応します。
よって、最大の良い集合を求める問題は、\(L\) の広義単調増加な部分列で最長のものを求める問題となり、 よく知られた問題である 最長増加部分列 (LIS) 問題の要領で \(O(N\log N)\) 時間で解くことができます。
投稿日時:
最終更新: