Даны 300000 сегментов. Рассмотрим любую пару сегментов: a = [l1,r1]
и b = [l2,r2]
. Если l2 >= l1
и r2 <= r1
, то это "хорошая" пара. Если a == b
, то это "плохая" пара. Более того, это «плохая» пара.
Как найти количество всех «хороших» пар среди заданных сегментов, используя дерево сегментов и строку сканирования?