Я пытаюсь решить большую проблему, и я думаю, что важная часть программы расходуется на неэффективные вычисления.
Мне нужно вычислить заданное число N, интервал [P, Q], где P - наибольшее число фибоначчи, которое является <= до N, а Q - наименьшее число фибоначчи, которое составляет >= N.
В настоящее время я использую карту для записи значения числа фибоначчи. Обычно запрос включает в себя поиск всех чисел фибоначчи с точностью до N, и он не очень эффективен по времени, поскольку он включает большое количество сравнений.
Этот тип запросов будет происходить довольно часто в моей программе, и меня интересуют способы улучшения поиска, желательно с сублинейной сложностью.