Допустим, у меня есть три массива a
, b
и c
равной длины N
. Элементы каждого из этих массивов происходят из полностью упорядоченного набора , но не сортируются. У меня также есть две индексные переменные, i
и j
. Для всех i != j
я хочу посчитать количество пар индексов, таких как a[i] < a[j]
, b[i] > b[j]
и c[i] < c[j]
. Есть ли способ сделать это менее чем за O (N ^ 2) сложность времени, например, путем творческого использования алгоритмов сортировки?
Примечания. Источником этого вопроса является то, что если у вас есть только два массива, a
и b
, вы можете найти число пар индексов, таких как a[i] < a[j]
и b[i] > b[j]
в (N log N) с сортировкой слиянием . Я в основном ищу обобщение до трех массивов.
Для простоты вы можете предположить, что никакие два элемента любого массива не равны (нет связей).