Replies: 2 comments 1 reply
-
|
매개변수 탐색,, 처음에 이해하기 쉽지않지 |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
이분탐색을 나무리스트에 하는 게 아니니까 나무 리스트 정렬 안해도 되네요 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
문제 : https://www.acmicpc.net/problem/2805
아이디어
'최댓값'이라는 키워드가 나와서 이분탐색을 먼저 생각했다.
원래 주어진 문제
이분 탐색을 위해 최대 절단기 높이를 H 매개변수로 설정 후 문제를 뒤집어서 Yes or No 문제로 바꿔준다.
뒤집어서 만든 Yes or No 문제
나무 리스트를 정렬해준 후 이분 탐색으로 H마다 Yes or No를 물어봐서 마지막 Yes인 H의 높이를 찾아낸다.
시간 복잡도
위의 Yes or No 문제를 한번 물어보는 데 걸리는 시간은 나무들을 H높이로 잘라내서 더해주기만 하면 되기 때문에 O(N)이다.
이분 탐색은 H의 범위가 20억 이므로 최대 질문 횟수가 log 20억이라서 O(log 20억)의 시간 복잡도를 가진다.
따라서 총 O(N log 20억)의 시간 복잡도를 가져서 1초안에 풀이가 가능하다.
류호석님 자료 보고 따라서 풀어봤는데 이해하는데 오래 걸렸지만 좋은 방법인거 같네용 😲
구현
Beta Was this translation helpful? Give feedback.
All reactions