PS/Codeforces
Div.2 #961 C - WA
조금씩 차근차근
2024. 9. 29. 22:02
문제 링크: https://codeforces.com/contest/1995/problem/C
오버플로우를 막는 방법에 대한 고민
핵심 아이디어
- a^x^2 < b^y^2 인데
- a^x >= b^y 인 경우는 없다
- 증명
- 1 초과인 a, b, x, y에 대하여
- a^x < b^y 이고
- a^x^2 > b^y 이면
- a^x^2 < b^y^2 이다
- a^x = p, b^y = q 라고 하면
- p < q 이다
- p * p < q * p 이므로
- p * p < q * q 는 당연히 성립한다.
따라서 핵심은, 몇번의 제곱을 수행해야 하느냐!
오버플로우를 신경쓰지 않도록, 2^63 내에서 대소 비교를 수행하는 방법
실제 문제를 풀진 못했으므로, 구현은 남기지 않음