이분 매칭
이분매칭은 x -> y로 가는 y를 모든 x에 대하여 선택할 때 두개 이상의 x가 y로 매칭되지 않으면서 최대로 선택할 수 있는 알고리즘입니다. dfs와 bfs로 접근 가능하며 BFS는 잘 알려진 네트워크 플로우가 속합니다. 본 글에서는 DFS를 사용하여 경우의 수를 찾아보겠습니다. 이분 매칭의 메인 아이디어는 모든 x에 대하여 선택 가능한 y를 찾아 가면서, 1. x가 탐색 중 만난 y가 이전에 다른 x에게 선택되어 지지 않았거나, 2. x가 y를 선택할 때, y를 선택했던 x가 다른 y를 선택할 수 있으면, (즉, {x,y} 상태에서, {x,y}, {x,y} 쌍이 구성될 수 있다면) 이 외의 경우는 x의 짝은 존재 하지 않는다. 현재 탐색하고자 하는 x 는 쌍을 구성할 수 있습니다. 두개의 배열을 선..
2020. 6. 25.