alsidnf   3년 전

삼분탐색 초기값을 r = 1e9를 하면 맞고 r = 1e18을 하면 틀리는데 이유가 무엇입니까...? 처음에는 반복 횟수가 부족하다고 판단해서 반복횟수를 자그마치 20배나 늘려봤지만 그래도 틀렸다고 합니다... double의 최댓값을 생각하면 오버플로우는 아닌 것 같고.. 원인을 잘 모르겠습니다.(참고로 다른 분들 코드를 살짝 보니 r = 2000.0까지도 해도 되던데 이 문제에서 최댓값을 설정하는 기준이 혹시 있는지도 궁금합니다. 제가 남들보다 엄청 높게 적었더라구요..)

hongjg3229   3년 전

https://www.acmicpc.net/blog/v...


4, 5번 때문일 것 같아요. 아마 ft함수 계산 과정에서 오차가 커지는게 아닐까 싶네요.

dbgksdl00   1년 전

남겨주신 r = 2000은 다음과같은 이유로 책정됩니다.

쥐들의 속도와 위치는 절대값 1000이하의 정수입니다.

초기 위치의 차이는 2000안쪽이 됩니다.

쥐가 멀어지는 경우, 초기 (0)일때의 거리가 가장 가깝습니다.

쥐의 거리가 변하지 않는 경우, 어떤 상황의 값을 사용해도 문제 없습니다.

쥐들이 가까워지는 경우, 2000의 시간(1의 속도 차이일때) 내로 서로 교차합니다.

위와 같은 개념을 기준으로 r = 2000을 기준으로 삼분탐색을 시도할 수 있습니다.

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