ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Задача 76247
УсловиеПредложенный выше алгоритм перемножения многочленов требует порядка n2 действий для перемножения двух многочленов степени n. Придумать более эффективный (для больших n) алгоритм, которому достаточно порядка nlog 4/log 3 действий.ПодсказкаПредставим себе, что надо перемножить два многочлена степени 2k. Их можно представить в виде
A(x)xk + B(x) и C(x)xk + D(x).
Произведение их равно
A(x)C(x)x2k + (A(x)D(x) + B(x)C(x))xk + B(x)D(x).
Естественный способ вычисления AC, AD + BC, BD требует
четырёх умножений многочленов степени k, однако их
количество можно сократить до трёх с помощью такой
хитрости: вычислить AC, BD и
(A + B)(C + D), а затем
заметить, что
AD + BC = (A + B)(C + D) - AC - BD.
Источники и прецеденты использования |
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|