Пусть - многочлен над фиксированным конечным полем. Предположим, что нам задано значение P для некоторого вектора y ∈ { 0 , 1 } n и вектора y .
Теперь мы хотим вычислить значение на вектор у ' ∈ { 0 , 1 } п такая , что у и у ' отличаются по точности одной позиции (другими словами, мы переворачивать ровно один бит в у ). Каковы пространство и время компромиссов для этой проблемы?
Например, если это число одночленов в P , мы можем хранить коэффициенты и значения всех мономов P . Если y i перевернуто, мы фиксируем значение каждого монома, содержащего y i, а затем значение P ( y ), используя сохраненную информацию. В общем, нам нужно O ( r ) время и пространство.
(Я ничего не говорю о том, как мы идентифицируем мономы, содержащие для цели. Вы можете выбрать любое разумное представление P , в примере, который я предполагаю, что мы храним список мономов, содержащих y i, для каждого i .)
есть что-нибудь получше?
источник
Легко изменить подход хранения мономов, чтобы каждое обновление занимало время, пропорциональное количеству измененных мономов: просто обновите общее значение полинома, добавив новое значение и вычтя старое значение для каждого измененного монома.
источник