Изменения

Перейти к: навигация, поиск

Многомерное дерево отрезков

48 байт добавлено, 17:14, 5 июня 2015
Запрос
<code>
query(area[], x1, x2, ..., xP, leftBorder, rightBorder, queryLeft, queryRight, node)
'''if ''' queryLeft > queryRight '''return ''' neutral '''if ''' leftBorder == queryLeft && rightBorder == queryRight '''if ''' последняя координата '''return ''' t[x1][x2]...[xP][node] '''else''' '''return ''' query(area[], x1, x2, ..., xP, node, 0, m - 1, area[P + 2].left, area[P + 2].right, 0)
med = (leftBorder + rightBorder) / 2
'''return ''' query(area[], x1, x2, ..., xP, leftBorder, med, queryLeft, min(queryRight, med), node * 2 + 1) <tex>\times</tex>
query(area[], x1, x2, ..., xP, med + 1, rightBorder, max(queryLeft, med + 1), queryRight, node * 2 + 2)
</code>
Анонимный участник

Навигация