f(n) is defined as: f(n) = 1^k+2^k+3^k+...+n^k, so it is the sum
of the k-th power of all natural numbers up to n.
In this problem you are about to compute,
f(1) + f(2) + f(3) + ... + f(n)
1 ≤ n ≤ 123,456,789 and 0 ≤ k ≤ 321
(链接到原始问题:http://www.spoj.com/problems/ASUMHARD/Matrix)萨姆我的总和^说明使用矩阵求幂
幼稚算法,计算每个术语逐个运行太慢,所以我想的试图解决一个恢复关系。
朴素方法:
total = 0
for i = 1 to n:
for j = 1 to i:
total += j^k
return total
幂可以用来解决线性递归。 我知道如何解决线性复发,如:
f(n) = f(n-k1) + f(n-k2) + ... + constant
,但我无法找到如何解决复发像
f(n) = f(n-k1) + f(n-k2) + ... + n^m
或
f(n) = f(n-k1) + f(n-k2) + ... + n*m
或
任何信息f(n) = f(n-k1) + f(n-k2) + ... + k^n
,即涉及'n'项的 。
任何人都可以提供任何链接或解释如何解决这种复发或如何形成初始矩阵,其权力将用于解决复发?
它是一个关于spoj的编程问题。如果不利用矩阵求幂,至少有人可以描述一个想法?
这似乎更像是一个数学问题,而不是像一个编程问题。 –
你可以发布你正在尝试解决的确切复发吗? – IVlad
这似乎是一个数学问题,而不是一个编程问题。 – MikeMB