9576번 - 책 나눠주기
이분매칭이나 에드몬드 카프는 시간초과가 날 것 같아서 그리디하게 풀었습니다.
시작 책 번호가 가장 빠른 순으로 먼저 정렬하여 현재 (a1,a2)를 보고있고 다음 구간이 (b1,b2)라 할 때
a2가 b2보다 작거나 같다면 항상 a부터 매칭시켜주는게 이득이고
a2가 b2보다 크다면 a1~b1이전까지의 책이 비어있다면 거기에 a를 매칭시키고 비어있지 않다면 b를 먼저 매칭시켜보고 a를 나중에 매칭시키기 위해 a를 (b1,a2)로 잘라서 다시 pq에 넣었습니다. 어디가 잘못되었는지 모르겠습니다
1
7 4
1 7
2 2
Ans: 4
위 코드 : 3
@yj10516님 감사합니다.
야무진 반례 덕분에 solve 했네요ㅎㅎ
@yj10516님 진짜 반례 깔끔하고 야무지네요 :) 너무너무 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
p_ce1052 3년 전
이분매칭이나 에드몬드 카프는 시간초과가 날 것 같아서 그리디하게 풀었습니다.
시작 책 번호가 가장 빠른 순으로 먼저 정렬하여 현재 (a1,a2)를 보고있고 다음 구간이 (b1,b2)라 할 때
a2가 b2보다 작거나 같다면 항상 a부터 매칭시켜주는게 이득이고
a2가 b2보다 크다면 a1~b1이전까지의 책이 비어있다면 거기에 a를 매칭시키고 비어있지 않다면 b를 먼저 매칭시켜보고 a를 나중에 매칭시키기 위해 a를 (b1,a2)로 잘라서 다시 pq에 넣었습니다. 어디가 잘못되었는지 모르겠습니다