Черный ящик с означает, что я могу оценить многочлен в любой точке.
Вход : черный ящик монического полинома степени .
Вывод: В коэффициенты многочлена .
Мой алгоритм: пусть
Оцените полином в многих точках, используя черный ящик, и получите систему линейных уравнений. Теперь я могу решить систему линейных уравнений, чтобы получить нужные коэффициенты.
Однако в этом случае мне нужно много запросов к черному ящику. Я хочу минимизировать количество запросов . Есть ли способ уменьшить количество запросов до двух или трех?
algorithms
polynomials
сложность
источник
источник
Ответы:
Вы можете определить многочлен, используя два запроса. Сначала запросите многочлен при чтобы получить верхнюю границу M для значения коэффициентов. Теперь запросите многочлен в x > M по вашему выбору и считайте коэффициенты из базового расширения x .x=1 M x>M x
Любопытно, что если вы позволите коэффициентам быть отрицательными, то вы не сможете сделать лучше, чем запросов. Действительно, я всегда могу ответить на ваши d - 1 запросы x 1 , … , x d - 1 на ноль, и это не фиксирует значение многочлена, так как все многочлены вида ( x - x 1 ) ⋯ ( x - x d - 1 ) ( x - x d ) соответствуют моим ответам.d d−1 x1,…,xd−1 (x−x1)⋯(x−xd−1)(x−xd)
источник