We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 920b41b commit 4e34625Copy full SHA for 4e34625
1 file changed
library/graphs/min_vertex_cover.hpp
@@ -1,4 +1,16 @@
1
#include "../../kactl/content/graph/HopcroftKarp.h"
2
+//! @code
3
+//! int l_sz, r_sz;
4
+//! vector<vi> g(l_sz);
5
+//! g[u].push_back(v); // 0 <= u < l_sz, 0 <= v < r_sz
6
+//! vi r(r_sz, -1);
7
+//! int match_sz = hopcroftKarp(g, r);
8
+//! // r[v] != -1 iff edge r[v] <-> v in matching
9
+//! auto [mvc_l, mvc_r] = cover(g, r);
10
+//! // mvc_l[u] == 1 iff u in mvc
11
+//! @endcode
12
+//! @time O(n + q * log n)
13
+//! @space O(n * \alpha(n))
14
pair<vi, vi> cover(const vector<vi>& g, vi& r) {
15
int n = sz(g), t = 0;
16
vi cl(n), cr(sz(r)), q(n);
0 commit comments