b_kasenov47
14 / 14 / 1
Регистрация: 28.07.2012
Сообщений: 57
|
||||||
#1 | ||||||
3-х мерное дерево Фенвика - C++28.07.2012, 20:36. Просмотров 1640. Ответов 4
Метки нет Все метки)
(
Дана такая задача:
есть трехмерное пространство. Поступают запросы вида увеличить количество элементов в параллелепипеде от 0, 0, 0 до x, y, z на val, и посчитать сумму в параллелепипеде от x, y, z до x1, y1, z1. Вроде бы все ясно - пишется трехмерное дерево Фенвика, но при подсчете суммы (2 запрос) Какие-то косяки (возможно в том месте, которое похоже на принцип включения-исключения). Тестирующая системы выдает ВА. Помогите, кто может!!! Вот код:
Да ладно люди!!! Столько просмотров, и никто помочь не может????
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
28.07.2012, 20:36 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос 3-х мерное дерево Фенвика (C++):
4
N мерное дерево - C++ Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой - C++ Дано дерево. Распечатать дерево по уровням - C++ Исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру - C++ Напишите программу, которая бы читала дерево в формате (а) и затем печатала бы это дерево в формате (б). - C++ Дерево дерево, странное дерево - C++ |
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
|
|
28.07.2012, 20:42 | #2 |
Попробую предположить. Потому что даже не знаю что такое дерево Фенвика и как оно рассчитывается
Здесь возможно вместо плюс минус поставил или скобки пропущены. Ведь эта функция сумму рассчитывает.
0
|
b_kasenov47
14 / 14 / 1
Регистрация: 28.07.2012
Сообщений: 57
|
|
28.07.2012, 21:45 [ТС] | #3 |
Подробнее о нем можно узнать на http://e-maxx.ru/algo/fenwick_tree. Но там лишь одномерный случай. ф-ция sum которая принимает 3 аргумента возвращает значение суммы в параллелепипеде от (0, 0, 0) до (x, y, z). т.е. надо что-то вычитать а что-то добавлять. т.е для одномерного случая, чтобы узнать сумму от L до R надо sum(R) - sum(L-1)
0
|
User1990
26 / 26 / 2
Регистрация: 03.11.2009
Сообщений: 158
|
|
28.07.2012, 23:39 | #4 |
нельзя вовращать значение локальной переменной, её может затереть , лучше в формальных параметрах заведи ещё одну переменную в нею и вноси результт
0
|
b_kasenov47
14 / 14 / 1
Регистрация: 28.07.2012
Сообщений: 57
|
|
29.07.2012, 12:21 [ТС] | #5 |
не помогло((( да и перед этим я такие вещи (возврат локальной переменной) много раз делал. работало.
Добавлено через 11 часов 55 минут Люди, помогите же! Очень надо!
0
|
29.07.2012, 12:21 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
29.07.2012, 12:21 |
Привет! Вот еще темы с ответами:
5
Дерево, бинарное дерево - C++ Двумерное дерево отрезков или фенвика + сканирующая прямая - Алгоритмы
Функия Фенвика - Turbo Pascal Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |