Skip to content

Commit 97fcf30

Browse files
committed
increase doc readability
1 parent 19f7aa1 commit 97fcf30

File tree

15 files changed

+95
-64
lines changed

15 files changed

+95
-64
lines changed

library/graphs/bridges_cuts/block_vertex_tree.hpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
#pragma once
22
#include "cuts.hpp"
33
//! @code
4-
//! vector<vector<pii>> adj(n);
4+
//! {
5+
//! vector<vector<pii>> adj(n);
6+
//! cuts cc(adj, m);
7+
//! vector<vi> bvt = block_vertex_tree(adj, cc);
8+
//! }
9+
//! vector<basic_string<array<int, 2>>> adj(n);
510
//! cuts cc(adj, m);
611
//! vector<vi> bvt = block_vertex_tree(adj, cc);
7-
//! vector<basic_string<array<int, 2>>> adj1(n);
8-
//! cuts cc1(adj1, m);
9-
//! vector<vi> bvt1 = block_vertex_tree(adj1, cc1);
12+
//!
1013
//! //to loop over each unique bcc containing a node u:
1114
//! for (int bccid : bvt[v]) {
1215
//! bccid -= n;

library/graphs/bridges_cuts/bridge_tree.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
#pragma once
22
#include "bridges.hpp"
33
//! @code
4-
//! vector<vector<pii>> adj(n);
4+
//! {
5+
//! vector<vector<pii>> adj(n);
6+
//! bridges br(adj, m);
7+
//! vector<vi> bt = bridge_tree(adj, br);
8+
//! }
9+
//! vector<basic_string<array<int, 2>>> adj(n);
510
//! bridges br(adj, m);
611
//! vector<vi> bt = bridge_tree(adj, br);
7-
//! vector<basic_string<array<int, 2>>> adj1(n);
8-
//! bridges br1(adj1, m);
9-
//! vector<vi> bt1 = bridge_tree(adj1, br1);
1012
//! @endcode
1113
//! @time O(n + m)
1214
//! @space O(n)

library/graphs/bridges_cuts/bridges.hpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
#pragma once
22
//! https://cp-algorithms.com/graph/bridge-searching.html
33
//! @code
4-
//! vector<vector<pii>> adj(n);
4+
//! {
5+
//! vector<vector<pii>> adj(n);
6+
//! auto [num_ccs, is_bridge, br_id] = bridges(adj, m);
7+
//! }
8+
//! vector<basic_string<array<int, 2>>> adj(n);
59
//! rep (i, 0, m) {
610
//! int u, v;
711
//! cin >> u >> v;
812
//! u--, v--;
9-
//! adj[u].emplace_back(v, i);
10-
//! adj[v].emplace_back(u, i);
13+
//! adj[u].push_back({v, i});
14+
//! adj[v].push_back({u, i});
1115
//! }
1216
//! auto [num_ccs, is_bridge, br_id] = bridges(adj, m);
13-
//! vector<basic_string<array<int,2>>> adj1(n);
14-
//! auto [num_ccs1, is_bridge1, br_id1] = bridges(adj1,
15-
//! m);
1617
//! @endcode
1718
//! is_bridge[edge id] = 1 iff bridge edge
1819
//! br_id[v] = id, 0<=id<num_ccs

library/graphs/bridges_cuts/cuts.hpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
#pragma once
22
//! https://cp-algorithms.com/graph/cutpoints.html
33
//! @code
4-
//! vector<vector<pii>> adj(n);
4+
//! {
5+
//! vector<vector<pii>> adj(n);
6+
//! auto [num_bccs, is_cut, bcc_id] = cuts(adj, m);
7+
//! }
8+
//! vector<basic_string<array<int, 2>>> adj(n);
59
//! rep (i, 0, m) {
610
//! int u, v;
711
//! cin >> u >> v;
812
//! u--, v--;
913
//! //self edges not allowed
10-
//! adj[u].emplace_back(v, i);
11-
//! adj[v].emplace_back(u, i);
14+
//! adj[u].push_back({v, i});
15+
//! adj[v].push_back({u, i});
1216
//! }
1317
//! auto [num_bccs, is_cut, bcc_id] = cuts(adj, m);
14-
//! vector<basic_string<array<int,2>>> adj1(n);
15-
//! auto [num_bccs1, is_cut1, bcc_id1] = cuts(adj1, m);
1618
//! @endcode
1719
//! is_cut[v] = 1 iff cut node
1820
//! bcc_id[edge id] = id, 0<=id<num_bccs

library/graphs/complement_graph_ccs.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
#pragma once
22
//! @code
3-
//! vector<vi> adj(n);
3+
//! {
4+
//! vector<vi> adj(n);
5+
//! vi cc_id = get_complement_graph_ccs(adj);
6+
//! }
7+
//! vector<basic_string<int>> adj;
48
//! vi cc_id = get_complement_graph_ccs(adj);
5-
//! vector<basic_string<int>> adj1;
6-
//! vi cc_id2 = get_complement_graph_ccs(adj1);
79
//! @endcode
810
//! 0<=cc_id[v]<number of connected components
911
//! in the complement graph

library/graphs/dijkstra.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
#pragma once
22
//! @code
3-
//! vector<vector<pair<int, ll>>> adj(n);
3+
//! {
4+
//! vector<vector<pair<int, ll>>> adj(n);
5+
//! auto d = dijkstra(adj, source);
6+
//! }
7+
//! vector<basic_string<array<int, 2>>> adj(n);
48
//! auto d = dijkstra(adj, source);
5-
//! vector<basic_string<array<int, 2>>> adj1(n);
6-
//! auto d1 = dijkstra(adj1, source);
79
//! @endcode
810
//! d[v] = min dist from source->..->v
911
//! @time O(n + (m log m))

library/graphs/hopcroft_karp.hpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
#pragma once
22
//! https://github.com/foreverbell/acm-icpc-cheat-sheet/blob/master/src/graph-algorithm/hopcroft-karp.cpp
33
//! @code
4-
//! vector<vi> adj(lsz);
4+
//! {
5+
//! vector<vi> adj(lsz);
6+
//! auto [matching_size, to_r, to_l,
7+
//! mvc_l, mvc_r] = hopcroft_karp(adj, rsz);
8+
//! }
9+
//! vector<basic_string<int>> adj(lsz);
510
//! adj[l].push_back(r); // add edge l <-> r
11+
//! // 0<=l<lsz; 0<=r<rsz
612
//! auto [matching_size, to_r, to_l,
713
//! mvc_l, mvc_r] = hopcroft_karp(adj, rsz);
8-
//! vector<basic_string<int>> adj1(lsz);
9-
//! hopcroft_karp match(adj1, rsz);
1014
//! @endcode
11-
//! 0<=l<lsz; 0<=r<rsz
1215
//! l <-> to_r[l] in matching if to_r[l]!=-1
1316
//! to_l[r] <-> r in matching if to_l[r]!=-1
1417
//! mvc_l[l] is 1 if l in Min Vertex Cover

library/graphs/strongly_connected_components/scc.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
#pragma once
22
//! https://github.com/kth-competitive-programming/kactl/blob/main/content/graph/SCC.h
33
//! @code
4-
//! vector<vi> adj(n);
4+
//! {
5+
//! vector<vi> adj(n);
6+
//! auto [num_sccs, scc_id] = sccs(adj);
7+
//! }
8+
//! vector<basic_string<int>> adj(n);
59
//! auto [num_sccs, scc_id] = sccs(adj);
6-
//! vector<basic_string<int>> adj1(n);
7-
//! auto [num_sccs1, scc_id1] = sccs(adj1);
810
//! @endcode
911
//! scc_id[v] = id, 0<=id<num_sccs
1012
//! for each edge u -> v: scc_id[u] >= scc_id[v]

library/trees/centroid_decomp.hpp

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
#pragma once
22
//! @code
3-
//! vector<vi> adj(n);
4-
//! centroid(adj, [&](const vector<vi>& adj,
5-
//! int cent, int par_cent) {
6-
//! });
7-
//! vector<basic_string<int>> adj1(n);
8-
//! centroid(adj1,
9-
//! [&](const vector<basic_string<int>>& adj1,
3+
//! {
4+
//! vector<vi> adj(n);
5+
//! centroid(adj, [&](const vector<vi>& adj,
6+
//! int cent, int par_cent) {
7+
//! });
8+
//! }
9+
//! vector<basic_string<int>> adj(n);
10+
//! centroid(adj,
11+
//! [&](const vector<basic_string<int>>& adj,
1012
//! int cent, int par_cent) {});
1113
//! @endcode
1214
//! @time O(n log n)

library/trees/edge_cd.hpp

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,20 @@
33
//! https://codeforces.com/blog/entry/120446
44
//! https://youtu.be/wDwaMo5xa-k
55
//! @code
6-
//! vector<vi> adj(n);
7-
//! edge_cd(adj, [&](const vector<vi>& adj,
8-
//! int cent, int split) {
6+
//! {
7+
//! vector<vi> adj(n);
8+
//! edge_cd(adj, [&](
9+
//! const vector<vi>& adj,
10+
//! int cent, int split) {});
11+
//! }
12+
//! vector<basic_string<int>> adj(n);
13+
//! edge_cd(adj, [&](const vector<basic_string<int>>&
14+
//! adj, int cent, int split) {
915
//! // subtrees of prefix [0, split) of adj[cent]
1016
//! // are the first edge-set
1117
//! // subtrees of suffix [split, sz(adj[cent]))
1218
//! // of adj[cent] are the second edge-set
1319
//! });
14-
//! vector<basic_string<int>> adj1(n);
15-
//! edge_cd(adj1, [&](
16-
//! const vector<basic_string<int>>& adj1,
17-
//! int cent, int split) {});
1820
//! @endcode
1921
//! handle single-edge-paths separately
2022
//! @time O(n log1.5 n)

0 commit comments

Comments
 (0)