Skip to content

Commit 0b4ecf9

Browse files
committed
More fixes
1 parent 2ef9572 commit 0b4ecf9

File tree

3 files changed

+6
-7
lines changed

3 files changed

+6
-7
lines changed

cp-algo/graph/base.hpp

+3-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace cp_algo::graph {
1616
adj.push(u, (edge_index)size(edges));
1717
edges.push_back(e);
1818
if constexpr (undirected) {
19-
adj.push(e.to, size(edges));
19+
adj.push(e.to, (edge_index)size(edges));
2020
}
2121
edges.push_back(e.backedge(u));
2222
}
@@ -44,15 +44,14 @@ namespace cp_algo::graph {
4444
return std::views::iota(0, n());
4545
}
4646
auto edges_view() const {
47-
return std::views::filter(
48-
std::views::iota(0, 2 * m()),
47+
return std::views::iota(0, 2 * m()) | std::views::filter(
4948
[](edge_index e) {return !(e % 2);}
5049
);
5150
}
5251
auto const& incidence_lists() const {return adj;}
5352
edge_t const& edge(edge_index e) const {return edges[e];}
5453
node_index n() const {return (node_index)adj.size();}
55-
edge_index m() const {return size(edges) / 2;}
54+
edge_index m() const {return (edge_index)size(edges) / 2;}
5655
private:
5756
node_index v0;
5857
std::vector<edge_t> edges;

cp-algo/number_theory/discrete_log.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ namespace cp_algo::math {
1515
// a * b^x is periodic here
1616
using base = dynamic_modint<>;
1717
return base::with_mod(m, [&]() -> std::optional<uint64_t> {
18-
size_t sqrtmod = std::max<size_t>(1, std::sqrt(m) / 2);
18+
int sqrtmod = std::max(1, (int)std::sqrt(m) / 2);
1919
std::unordered_map<int64_t, int> small;
2020
base cur = a;
21-
for(size_t i = 0; i < sqrtmod; i++) {
21+
for(int i = 0; i < sqrtmod; i++) {
2222
small[cur.getr()] = i;
2323
cur *= b;
2424
}

cp-algo/number_theory/euler.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#include "factorize.hpp"
44
namespace cp_algo::math {
55
int64_t euler_phi(int64_t m) {
6-
auto primes = factorize(m);
6+
auto primes = to<std::vector>(factorize(m));
77
std::ranges::sort(primes);
88
auto [from, to] = std::ranges::unique(primes);
99
primes.erase(from, to);

0 commit comments

Comments
 (0)