Я знаю, что подобный вопрос существует здесь .У меня такой же вопрос, что у меня N интервалов (некоторые, возможно, перекрываются, некоторые даже одинаковые).Затем задаются запросы Q-точки, и мне нужно указать, сколько интервалов содержит эту точку.
Я попытался разработать свой алгоритм, отсортировав массив конечных точек, а затем подсчитал число перекрывающихся интервалов с помощью трюка +1, -1как уже упоминалось в ответе.Но что делать после бинарного поиска?Потому что это не всегда тот случай, когда соответствующий индекс массива префиксных сумм является ответом.
e.g.
Intervals are : [1,4] [5,7] [6,10] [7,13]
sorted end point array : [1,4,5,6,7,7,10,13]
+1/-1 array : [1,-1,1,1,1,-1,-1,-1]
prefix sum array : [1,0,1,2,3,2,1,0]
Query : 10
my algorithm gives 1 (corresponding prefix array)
but actual ans should be 2.
Как мне исправить мой алгоритм?