알고리즘
2020. 11. 3.
[BOJ] 11444번: 피보나치 수 6
11444번: 피보나치 수 6 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 사용 알고리즘 divide and conquer memoization 시간 복잡도 O($M^3 log N$) : ( M : 행렬의 크기, N : N번째 항 ) 풀이 N이 아주 큰 $10^18$이기 때문에, 일반적인 1차원의 DP 점화식을 이용해서는 풀 수 없다. 점화식을 행렬의 형태로 표현하였으며, 행렬의 거듭제곱을 이용하여 시간복잡도가 O($M^3 log N$)로 풀 수 있다. 피보나치의 일반적인 점화식은 A[n] = A[n-1] + A[n-2] (A > 2)의 형태이다. 일반적인 점화식의 경우 O($N$)이며, 시간복잡도가 아주 커서 시..