Skip to content

Commit 5495a2f

Browse files
committed
Update
1 parent de72ee6 commit 5495a2f

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

cp-algo/linalg/matrix.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ namespace cp_algo::linalg {
2929
matrix(Base &&t): Base(std::move(t)) {}
3030

3131
template<std::ranges::input_range R>
32-
matrix(R &&r): Base(std::ranges::to<Base>(std::forward<R>(r))) {}
32+
matrix(R &&r): Base(std::from_range, std::forward<R>(r)) {}
3333

3434
size_t n() const {return size(*this);}
3535
size_t m() const {return n() ? size(row(0)) : 0;}

cp-algo/linalg/vector.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ namespace cp_algo::linalg {
2222
vec(Base const& t): Base(t) {}
2323
vec(Base &&t): Base(std::move(t)) {}
2424
vec(size_t n): Base(n, base()) {}
25-
vec(auto &&r): Base(std::ranges::to<Base>(r)) {}
25+
vec(auto &&r): Base(std::from_range, r) {}
2626

2727
static vec ei(size_t n, size_t i) {
2828
vec res(n);

cp-algo/number_theory/dirichlet.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ namespace cp_algo::math {
111111

112112
auto Dirichlet_div(auto const& H, auto const& G, int64_t n) {
113113
auto m = std::size(G);
114-
auto F = H | std::views::take(m) | std::ranges::to<big_vector>();
114+
using elem_t = std::decay_t<decltype(*H.begin())>;
115+
big_vector<elem_t> F(H.begin(), H.begin() + m);
115116
Dirichlet_div_inplace(F, G, n);
116117
return F;
117118
}

verify/number_theory/totient_sum.test.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ void solve() {
1818
cin >> n;
1919
auto H = floors(n) | views::transform([](int64_t k) {
2020
return base(k) * base(k + 1) / 2;
21-
}) | ranges::to<vector>();
21+
}) | ranges::to<cp_algo::big_vector<base>>();
2222
auto G = floors(n) | views::transform([](int64_t k) {
2323
return base(k);
24-
}) | ranges::to<vector>();
24+
}) | ranges::to<cp_algo::big_vector<base>>();
2525
auto F = Dirichlet_div(H, G, n);
2626
cout << F.back() << "\n";
2727
}

0 commit comments

Comments
 (0)