We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 401dfa5 commit e1f9704Copy full SHA for e1f9704
1 file changed
src/alfred/math/lagrange.hpp
@@ -3,12 +3,10 @@
3
4
#include "comb.hpp"
5
#include "vec-inv.hpp"
6
+#include <algorithm>
7
#include <cassert>
-#include <iostream>
8
#include <vector>
9
10
-// TODO: write lagrange as a class, supporting: O(n^2) init, O(n) query
11
-
12
template <class mint>
13
class Lagrange {
14
private:
@@ -99,7 +97,7 @@ inline mint sum_of_kth_powers(mint n, int k) {
99
97
mint sum = 0;
100
98
std::vector<mint> Y{0};
101
for (int i = 1; i <= k + 2; i++) {
102
- Y.push_back(sum += (mint)i ^ k);
+ Y.push_back(sum += mint(i).pow(k));
103
}
104
return cont_lagrange(Y, n);
105
0 commit comments