2018. 1. 7. 14:48, 알고리즘/BOJ
https://www.acmicpc.net/problem/11778
gcd(F_n, F_m) = F_gcd(n, m)입니다. 증명은 귀납법으로 할 수 있습니다. ( https://www.cut-the-knot.org/arithmetic/algebra/FibonacciGCD.shtml )
그러면 주어진 n, m에 대해 F_n, F_m을 구할 필요 없이 F_gcd(n, m)을 구하면 되고, n과 m이 매우 큰 만큼 행렬의 거듭제곱을 이용해 F_a를 O(log a)로 구해야 시간 내로 답을 얻을 수 있습니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 1167번: 트리의 지름 (0) | 2018.01.07 |
---|---|
[BOJ] 1038번: 감소하는 수 (23) | 2018.01.07 |
[BOJ] 11689번: GCD(n, k) = 1 (4) | 2018.01.07 |
[BOJ] 10220번: Self Representing Seq (0) | 2018.01.07 |
[BOJ] 12796번: 나의 행렬곱셈 답사기 (0) | 2018.01.07 |
[BOJ] 2447번: 별찍기 - 10 (0) | 2018.01.07 |
Comments