Я пытаюсь решить “Rectangular Queries” problem from the December 2013 CodeChef contest:найти эффективный алгоритм для ответа на запросы в подматрицы заданной квадратной матрицы
Учитывая квадратная матрица N х N, заполненный целыми числами от {1, .. 10} , Нам даны Q (10^5) запросы следующим образом: , если x1, y1, x2, y2 найти количество уникальных элементов в данной подматрице.
Пределы: N < = 300 Q (10^5) x1 < < = х2 = N у1 = у2 < < = N ограничения по времени 1 сек.
Я пробовал подход, используя std :: set для уникальности, но получаю TLE ... МОЙ подход наивен ... цикл из верхнего левого угла вправо справа для запроса и добавления элементов для установки. Затем печать std: : set.size().
На самом деле количество запросов в 10^5 ... подматрица будет меняться очень запрос ... я должен ответить на запрос либо в O (журнал (N)) или O (1) ... –