Skip to content

一般グラフの最大重みマッチング(Blossom)を追加#37

Merged
Harui-i merged 2 commits into
mainfrom
codex/implement-and-verify-blossom-algorithm
May 10, 2026
Merged

一般グラフの最大重みマッチング(Blossom)を追加#37
Harui-i merged 2 commits into
mainfrom
codex/implement-and-verify-blossom-algorithm

Conversation

@Harui-i

@Harui-i Harui-i commented May 10, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Library Checker の general_weighted_matching 問題向けに、一般グラフの最大重みマッチング(Blossom / 花アルゴリズム)の実装を追加するため。
  • 競技プログラミング用ライブラリとして既存の命名・構成規約に合わせた軽量実装が狙い。
  • 検証用に oj-verify 経由での自動テストを用意し、ドキュメントも同期するため。

Description

  • 新規ファイル graph/general_weighted_matching.hpp を追加し、mylib::GeneralWeightedMatching として add_edgesolve(最大重みと mate 配列を返す)を実装しました。
  • 使い方と計算量を記載したドキュメント docs/graph/general_weighted_matching.md を追加しました。
  • Library Checker 用の検証ドライバ test/verify/yosupo-general-weighted-matching.test.cpp を追加しました。
  • コンパイル時に見つかった漏れ(<functional> のインクルード)を修正してビルドできる状態にしました。

Testing

  • g++ -std=gnu++20 -O2 -Wall -I. test/verify/yosupo-general-weighted-matching.test.cpp -o /tmp/gwm_test を実行してローカルでコンパイルが成功しました(成功)。
  • scripts/verify.sh run test/verify/yosupo-general-weighted-matching.test.cpp を実行しましたが、oj download が外部リポジトリ取得時にネットワーク/プロキシ制限により 403 で失敗し自動検証は完了できませんでした(失敗)。
  • ネットワークが利用可能な環境で scripts/verify.sh を再実行すれば完全な自動検証が通る想定です。

Codex Task

@Harui-i
Harui-i marked this pull request as ready for review May 10, 2026 11:40
@Harui-i
Harui-i merged commit c86926f into main May 10, 2026
1 check passed
@Harui-i
Harui-i deleted the codex/implement-and-verify-blossom-algorithm branch May 10, 2026 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant