336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
5달전에 풀려고 했다가 뭐지? 하고 그냥 틀린상태로 있던 문제였음..
일단 아무생각없이 코드를 작성했을 때는 으로 풀었었는데...
다시 문제 보고 풀어보려고 했을 때도 처음에 정렬하고 그저 하나씩 세어보지 뭐 하면서 생각했음...
입력 자료의 갯수가 (s[i], f[i]) s는 start, f는 finish 순서로.. 무조건 오름차순으로 바꾸고 시작점과 거리를 저장했다. 근데 지금다시생각해보니 그짓을 할 필요가 없다. 그냥 시작점, 도착점으로 집-회사 / 회사-집 상관없이 낮은 것을 시작점, 높은 것을 도착점으로 생각하면 된다.
TLE(시간초과) 예상하고 제출했었다.
어? 그럼 경우의수를 가지쳐주면 되나? 그래서 저대로 하면서 경우의 수를 cut 해주면 되겠다 생각을 하고
다시 제출했더니 똑같이 시간초과였다.
그리고 한 3시간정도 계속 생각했다. 이거 문제를 이나 으로 풀어야하는데 어떻게하지.... 라고
그래서 min heap 두개를 사용하면 풀 수 있을 거 같다라는 생각이 들었다.
하나의 우선순위큐에는 출발점들
두번째 우선순위큐에는 도착점들
그러면 출발점과 도착점을 기준으로 잡고, 큐에서 각 점들을 뽑아내고 값이 넘어가면 더이상 큐에서 빼지 않고 넘기는 방법으로 작성했다.
'PSNote > Problem Solving' 카테고리의 다른 글
[BOJ-11051]이항계수2 (0) | 2017.07.17 |
---|---|
[BOJ-1094]막대기 (0) | 2017.07.17 |
[BOJ-2042]구간 합 구하기 1 (0) | 2017.07.17 |
[ALGOSPOT]LIS (0) | 2017.07.17 |
[BOJ-10216]Count Circle Groups (0) | 2017.07.17 |