Я хочу рассчитать сумму произведения каждого подмножества заданного набора элементов $ N $. Например, заданный набор {1, 2, 3}, ответ 1 + 2 + 3 + 1 * 2 + 1 * 3 + 2 * 3 + 1 * 2 * 3. Я также хотел бы дать ответ по модулю $ M $.Сумма продуктов всех подмножеств,
Я знаю, что я мог бы вычислить $ (x - a_1) (x - a_2) ... (x - a_n) - 1 $, но это связано с БПФ, поэтому могут быть некоторые ошибки округления, но основная проблема с этой идеей заключается в том, что она берет $ O (N \ log^2 N) $ time и делает modulo $ M $ проблематичной. Есть ли более быстрый способ решить эту проблему? Это не моя домашняя работа, я получил эту задачу от своего учителя, чтобы практиковать на конкурсе программирования, но я действительно застрял в этой проблеме.
Ограничение:
$ a_i \ ль 10^9 $
$ N \ ль 10^6 $
$ M \ ль 10^9 $
1. Просьба указать атрибуты источников. Можете ли вы отредактировать вопрос, чтобы указать конкретный источник, из которого вы получили эту проблему? 2. Мы хотим помочь вам понять, а не только вашу практику для вас. Выполнение вашей практической проблемы для вас не поможет ни вам, ни кому-либо еще.В частности, единственный способ улучшить это - проработать это самостоятельно. –