File tree 3 files changed +6
-7
lines changed
3 files changed +6
-7
lines changed Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ namespace cp_algo::graph {
16
16
adj.push (u, (edge_index)size (edges));
17
17
edges.push_back (e);
18
18
if constexpr (undirected) {
19
- adj.push (e.to , size (edges));
19
+ adj.push (e.to , (edge_index) size (edges));
20
20
}
21
21
edges.push_back (e.backedge (u));
22
22
}
@@ -44,15 +44,14 @@ namespace cp_algo::graph {
44
44
return std::views::iota (0 , n ());
45
45
}
46
46
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 (
49
48
[](edge_index e) {return !(e % 2 );}
50
49
);
51
50
}
52
51
auto const & incidence_lists () const {return adj;}
53
52
edge_t const & edge (edge_index e) const {return edges[e];}
54
53
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 ;}
56
55
private:
57
56
node_index v0;
58
57
std::vector<edge_t > edges;
Original file line number Diff line number Diff line change @@ -15,10 +15,10 @@ namespace cp_algo::math {
15
15
// a * b^x is periodic here
16
16
using base = dynamic_modint<>;
17
17
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 );
19
19
std::unordered_map<int64_t , int > small;
20
20
base cur = a;
21
- for (size_t i = 0 ; i < sqrtmod; i++) {
21
+ for (int i = 0 ; i < sqrtmod; i++) {
22
22
small[cur.getr ()] = i;
23
23
cur *= b;
24
24
}
Original file line number Diff line number Diff line change 3
3
#include " factorize.hpp"
4
4
namespace cp_algo ::math {
5
5
int64_t euler_phi (int64_t m) {
6
- auto primes = factorize (m);
6
+ auto primes = to<std::vector>( factorize (m) );
7
7
std::ranges::sort (primes);
8
8
auto [from, to] = std::ranges::unique (primes);
9
9
primes.erase (from, to);
You can’t perform that action at this time.
0 commit comments