문제 링크: 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 내에서 대소 비교를 수행하는 방법
실제 문제를 풀진 못했으므로, 구현은 남기지 않음
'PS > Codeforces' 카테고리의 다른 글
Div.2 #930 C - Bitwise Operation Wizard (0) | 2024.11.08 |
---|---|
Div.2 #965 C (0) | 2024.09.27 |
Div.2 #967 C (0) | 2024.09.27 |
Div.2 #968 D1 (0) | 2024.09.27 |
Div.2 #953 C (0) | 2024.09.27 |