From e473eccdf32f5bb738ec65062f9f3de5d22b6cc5 Mon Sep 17 00:00:00 2001 From: Luke Videckis Date: Tue, 8 Jul 2025 18:30:57 -0600 Subject: [PATCH 1/4] add another example --- library/graphs/bridges_cuts/bcc_callback.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/library/graphs/bridges_cuts/bcc_callback.hpp b/library/graphs/bridges_cuts/bcc_callback.hpp index f751b908..5cbde412 100644 --- a/library/graphs/bridges_cuts/bcc_callback.hpp +++ b/library/graphs/bridges_cuts/bcc_callback.hpp @@ -27,6 +27,19 @@ //! bridge_tree[uf.find(i)] += uf.find(v); //! } //! +//! { +//! // ********* IF NO MULTIPLE EDGES ********* +//! vector adj(n); +//! vector cc_id(n); +//! bcc_callback(adj, [&](const vi& nodes) { +//! if (ssize(nodes) == 2) { +//! // nodes[0] <=> nodes[1] is a bridge +//! return; +//! } +//! for (int v : nodes) cc_id[v] = nodes.back(); +//! }); +//! } +//! //! vector> adj(n); //! vector> block_vertex_tree(2 * n); //! int bcc_id = n; From 91061d365d1c603b2785be5c51f4fcc333325cb0 Mon Sep 17 00:00:00 2001 From: GitHub Date: Wed, 9 Jul 2025 00:33:33 +0000 Subject: [PATCH 2/4] [auto-verifier] verify commit e473eccdf32f5bb738ec65062f9f3de5d22b6cc5 --- .verify-helper/timestamps.remote.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.verify-helper/timestamps.remote.json b/.verify-helper/timestamps.remote.json index a1d3bb7d..9869c803 100644 --- a/.verify-helper/timestamps.remote.json +++ b/.verify-helper/timestamps.remote.json @@ -50,10 +50,10 @@ "tests/library_checker_aizu_tests/flow/dinic_aizu.test.cpp": "2024-11-17 14:04:03 -0600", "tests/library_checker_aizu_tests/flow/hungarian.test.cpp": "2024-11-17 14:04:03 -0600", "tests/library_checker_aizu_tests/flow/min_cost_max_flow.test.cpp": "2024-12-05 10:41:42 -0600", -"tests/library_checker_aizu_tests/graphs/bcc_callback_aizu_bcc.test.cpp": "2025-06-25 15:06:18 -0600", -"tests/library_checker_aizu_tests/graphs/bcc_callback_aizu_two_edge_cc.test.cpp": "2025-06-25 15:06:18 -0600", -"tests/library_checker_aizu_tests/graphs/bcc_callback_lib_checker_bcc.test.cpp": "2025-06-25 15:06:18 -0600", -"tests/library_checker_aizu_tests/graphs/bcc_callback_lib_checker_two_cc.test.cpp": "2025-06-25 15:06:18 -0600", +"tests/library_checker_aizu_tests/graphs/bcc_callback_aizu_bcc.test.cpp": "2025-07-08 18:30:57 -0600", +"tests/library_checker_aizu_tests/graphs/bcc_callback_aizu_two_edge_cc.test.cpp": "2025-07-08 18:30:57 -0600", +"tests/library_checker_aizu_tests/graphs/bcc_callback_lib_checker_bcc.test.cpp": "2025-07-08 18:30:57 -0600", +"tests/library_checker_aizu_tests/graphs/bcc_callback_lib_checker_two_cc.test.cpp": "2025-07-08 18:30:57 -0600", "tests/library_checker_aizu_tests/graphs/biconnected_components.test.cpp": "2025-02-10 23:30:47 -0700", "tests/library_checker_aizu_tests/graphs/connected_components_of_complement_graph.test.cpp": "2024-12-14 19:50:29 -0600", "tests/library_checker_aizu_tests/graphs/dijkstra_aizu.test.cpp": "2024-12-14 19:50:29 -0600", From 2b4ed57dc8bbfc0f03cfaec199c09acb56738888 Mon Sep 17 00:00:00 2001 From: Luke Videckis Date: Tue, 8 Jul 2025 18:37:31 -0600 Subject: [PATCH 3/4] nits --- library/graphs/bridges_cuts/bcc_callback.hpp | 2 +- .../graphs/bcc_callback_aizu_two_edge_cc.test.cpp | 10 +--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/library/graphs/bridges_cuts/bcc_callback.hpp b/library/graphs/bridges_cuts/bcc_callback.hpp index 5cbde412..b5122ab5 100644 --- a/library/graphs/bridges_cuts/bcc_callback.hpp +++ b/library/graphs/bridges_cuts/bcc_callback.hpp @@ -32,7 +32,7 @@ //! vector adj(n); //! vector cc_id(n); //! bcc_callback(adj, [&](const vi& nodes) { -//! if (ssize(nodes) == 2) { +//! if (sz(nodes) == 2) { //! // nodes[0] <=> nodes[1] is a bridge //! return; //! } diff --git a/tests/library_checker_aizu_tests/graphs/bcc_callback_aizu_two_edge_cc.test.cpp b/tests/library_checker_aizu_tests/graphs/bcc_callback_aizu_two_edge_cc.test.cpp index 5b5ea3b5..bd22f849 100644 --- a/tests/library_checker_aizu_tests/graphs/bcc_callback_aizu_two_edge_cc.test.cpp +++ b/tests/library_checker_aizu_tests/graphs/bcc_callback_aizu_two_edge_cc.test.cpp @@ -15,16 +15,8 @@ int main() { adj[v] += u; } vector bridges; - vector seen(n); bcc_callback(adj, [&](const vi& nodes) { - int count_edges = 0; - rep(i, 0, sz(nodes) - 1) { - seen[nodes[i]] = 1; - count_edges += ranges::count_if(adj[nodes[i]], - [&](int v) -> bool { return !seen[v]; }); - } - if (count_edges == 1) { - assert(sz(nodes) == 2); + if (sz(nodes) == 2) { pii bridge(nodes[0], nodes[1]); if (bridge.first > bridge.second) swap(bridge.first, bridge.second); From 4bc0d5d90090af5c791df3eb949dcd112b66143e Mon Sep 17 00:00:00 2001 From: Luke Videckis Date: Tue, 8 Jul 2025 18:39:18 -0600 Subject: [PATCH 4/4] nit --- library/graphs/bridges_cuts/bcc_callback.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/graphs/bridges_cuts/bcc_callback.hpp b/library/graphs/bridges_cuts/bcc_callback.hpp index b5122ab5..5fdaa396 100644 --- a/library/graphs/bridges_cuts/bcc_callback.hpp +++ b/library/graphs/bridges_cuts/bcc_callback.hpp @@ -30,7 +30,7 @@ //! { //! // ********* IF NO MULTIPLE EDGES ********* //! vector adj(n); -//! vector cc_id(n); +//! vi cc_id(n); //! bcc_callback(adj, [&](const vi& nodes) { //! if (sz(nodes) == 2) { //! // nodes[0] <=> nodes[1] is a bridge