From aae3d131e85025c0fd631c16b4f41d37bc1c223e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=BD=D0=B0=20=D0=9A=D0=BE=D0=BF=D0=B5=D0=BB?= =?UTF-8?q?=D0=B8=D0=BE=D0=B2=D0=B8=D1=87?= Date: Sun, 8 Apr 2018 17:59:56 +0300 Subject: [PATCH 1/2] Update rect_intersect.ipynb --- 2_rect_intersect/rect_intersect.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2_rect_intersect/rect_intersect.ipynb b/2_rect_intersect/rect_intersect.ipynb index d01983b..931c0a6 100644 --- a/2_rect_intersect/rect_intersect.ipynb +++ b/2_rect_intersect/rect_intersect.ipynb @@ -280,7 +280,7 @@ ">*Перечисление точек в прямоугольнике выполняется за $O(\\sqrt n + k)$, где $k$ — размер ответа.*\n", "\n", "
$\\triangleright$
\n", - "Сперва заметим, что все вывод всех точек из нод дерева суммарно выполняются за $O(\\text{k})$. Поэтому достаточно доказать оценку для числа рекурсивных вызовов. А рекурсивные вызовы выполняются только для тех вершин, регионы которых пересекают R, но не содержатся в нём. Такие регионы обязательно пересекают хотя бы одну сторону заданного прямоугольника. Оценим количество регионов, которые могут пересекаться произвольной вертикальной прямой. Для горизонтальной прямой это будет аналогично.\n", + "Сперва заметим, что все выводы всех точек из нод дерева суммарно выполняются за $O(\\text{k})$. Поэтому достаточно доказать оценку для числа рекурсивных вызовов. А рекурсивные вызовы выполняются только для тех вершин, регионы которых пересекают R, но не содержатся в нём. Такие регионы обязательно пересекают хотя бы одну сторону заданного прямоугольника. Оценим количество регионов, которые могут пересекаться произвольной вертикальной прямой. Для горизонтальной прямой это будет аналогично.\n", "\n", "Обозначим максимально возможное количество регионов, пересекаемых какой-либо вертикальной прямой, в дереве для $n$ точек, у которого первое разбиение делается вертикальной прямой, как $Q(n)$. Рассмотрим произвольную вертикальную прямую $l$. Она будет пересекать регион корня и какого-то одного из его детей (например, левого). При этом ни один из регионов в другом (правом) поддереве пересекать она не может. Левая половина разбита ещё на 2 части горизонтальной прямой, в каждой из них примерно $n / 4$ вершин, и они хранятся в поддереве, у которого первое разбиение делается вертикальной прямой. Это даёт нам следующее соотношение:\n", "\n", From ec1df5555736b2e7d6029df2a833199faf92fd3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=BD=D0=B0=20=D0=9A=D0=BE=D0=BF=D0=B5=D0=BB?= =?UTF-8?q?=D0=B8=D0=BE=D0=B2=D0=B8=D1=87?= Date: Sun, 8 Apr 2018 18:02:58 +0300 Subject: [PATCH 2/2] Update rect_intersect.ipynb --- 2_rect_intersect/rect_intersect.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2_rect_intersect/rect_intersect.ipynb b/2_rect_intersect/rect_intersect.ipynb index 931c0a6..0ba788d 100644 --- a/2_rect_intersect/rect_intersect.ipynb +++ b/2_rect_intersect/rect_intersect.ipynb @@ -404,7 +404,7 @@ "metadata": {}, "source": [ "### Запрос\n", - "Запрос на выдачу точек, принадлежащих некому прямоугольнику $R$, выполняется следующим образом:
\n", + "Запрос на выдачу точек, принадлежащих некоему прямоугольнику $R$, выполняется следующим образом:
\n", "Выполняем описанную в постановке задачи процедуру поиска элементов отрезка для проекции прямоугольника запроса на $X_1$.\n", "\n", "При добавлении вершины к ответу рассмотрим текущую координату. Если она:\n",