Есть ли какой-либо алгоритм для вычисления (1^x + 2^x + 3^x + ... + n^x) mod 1000000007
?
Примечание: a^b
- это b-я степень.
Ограничения 1 <= n <= 10^16, 1 <= x <= 1000
. Таким образом, значение N очень велико.
Я могу решить только для O(m log m)
, если m = 1000000007
. Это очень медленно, потому что ограничение времени составляет 2 секунды.
Есть ли у вас эффективный алгоритм?
Был комментарий, что это может быть дубликат этого вопроса, но это определенно отличается.