Logo
(追記) (追記ここまで)

네트워크 플로우 방식으로 잘 모르겠습니다.

11378번 - 열혈강호 4

이분매칭으로는 여차저차해서 풀었는데...

똑같이

용량을 1로 전부해놓고

최대유량을 구한뒤

용량을 k만큼 늘려서 최대 유량을 구하는 방식을 떠올렸는데...

이 방법을 어떻게 구현해야할 지 모르겠습니다. ..


시작 노드를 0 끝 노드를 2001로 두고

간선을 다 연결해주었습니다.

1,2,3,4,5 면 다음 연결되는 노드는 1001,1002, ...

이분매칭은 그냥 탐색 함수를 k만큼 더 돌리면 되니까 간단했는데

유량 개념은 공간을 다시 늘려줘야 되니까 잘 모르겠네요. 내일되면 뭔가 떠오를지는 모르겠는데..

풀이는 아직 안봤습니다.

도와주십쇼!!

안녕하세요.

저는 이 문제를 풀진 않았지만, 문제를 읽어보고 나니 열혈강호 3과 비슷한 느낌의 풀이가 떠오릅니다.

우선 소스 -> 각 직원 간선의 용량은 작성자님 생각처럼 1이 되어야 합니다. 그러면 k만큼의 유량을 이후에 어떻게 흘릴 수 있느냐가 문젠데..

소스와 각 직원 사이를 연결하는 특별한 노드가 하나 더 있다면 어떨까요? 이 노드와 연결된 간선의 용량을 무엇으로 정할지, 이 노드가 있음으로써 생기는 영향이 무엇일지 생각해보면 좋을 것 같습니다.

헉, 이런 생각은 못해봤는데.. 좀 고민해보니 풀 수 있을지도 모르겠습니다. 힌트 감사드립니다!!

풀었습니다. 유량의 공간을 처음 사람쪽에만 늘려주면 되고 k만큼만 탐색이 되도록하면 되는 문제였군요..

계속 해메였던 것이 유량을 일에도 늘리고 모두 늘려서 그랬습니다. ᅲ

역시 알고리즘을 제대로 파악했으면 쉽게 풀었겠지만... 덕분에 네트워크 플로우가 좀 이해갔고, 풀이도 안보고 풀었습니다. 감사합니다.

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

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /