Изменения

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

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

10 байт добавлено, 20:27, 2 июня 2012
Нет описания правки
operationCalc(area[], x1, x2, ..., xP, leftBorder, rightBorder, needLeft, needRight, vertex)
'''if''' needLeft > needRight '''return''' 0 // нейтральный элемент по операции <tex>\times</tex> '''if''' leftBorder == needLeft && rightBorder == needRight '''if''' последняя координата '''return''' t[x1][x2]...[xP][vertex] '''else''' '''return''' operationCalc(area[], x1, x2, ..., xP, vertex, 0, m - 1, area[P + 2].left, area[P + 2].right, 0) med = (leftBorder + rightBorder) / 2 '''return''' operationCalc(area[], x1, x2, ..., xP, leftBorder, med, needLeft, min(needRight, med), vertex * 2 + 1) <tex>\times</tex> operationCalc(area[], x1, x2, ..., xP, med + 1, rightBorder, max(needLeft, med + 1), needRight, vertex * 2 + 2)
==Обновление==
81
правка

Навигация