rootsquare   1년 전

일반적으로 네트워크 플로우 문제의 경우 (단계별로 풀어보기의 설명에 의하면) Edmond-Karp 알고리즘을 써서 풀고 있는데 13161과 같이 그래프가 크다면 디닉 알고리즘을 쓰라고 알려져 있습니다.(13161의 경우 정점이 최대 500개로 보입니다.)

이 문제의 경우도 문제를 그래프로 도식화하면 정점이 약 2000개 가량이 나오는데, Edmond-Karp 알고리즘으로 무난하게 맞았습니다가 나옵니다.

Edmond-Karp는 O(VE^2)의 시간 복잡도를 갖는데, 혹시 이 문제에서 해당 알고리즘이 성립하는 다른 이유가 있을까요?

제 코드입니다: https://www.acmicpc.net/source...

bkwak   1년 전

Ford–Fulkerson algorithm - Wikipedia

Edmond-Karp는 Ford-Fulkerson의 구현방식이기 때문에, Ford-Fulkerson의 Time bound인 O(Ef)도 적용됩니다.

이 경우에는 f <= 2N이라서, Ford-Fulkerson이 효율적으로 풀리겠네요.

0000000000   1년 전

정확히 하자면 Edmonds-Karp 알고리즘의 시간복잡도는 min(Ef, VE2)입니다.

rootsquare   1년 전

플로우가 작아서 통과 가능하군요.(많아야 1000). 자세한 설명에 감사드립니다.

댓글을 작성하려면 로그인해야 합니다.