내용으로 건너뛰기
테페리넷
사용자 도구
등록
로그인
사이트 도구
검색
도구
문서 보기
Fold/unfold all
역링크
미디어 관리자
사이트맵
등록
로그인
>
미디어 관리자
사이트맵
현재 위치:
테페리넷
»
Problem Solving
»
문제
»
백준 온라인 저지 (BOJ)
»
이친수
ps:problems:boj:2193
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 이친수 ====== ===== 풀이 ===== * 간단한 DP 문제이다. * f[i]를 0으로 끝나는 길이 i짜리 이친수, g[i]를 1로 끝나는 길이 i짜리 이친수라고 하면 점화식은 아래처럼 나온다 * f[i+1] = f[i]+g[i], g[i+1] = f[i] * g[i]를 f[i-1]로 치환하면 f[i+1] = f[i] + f[i-1]이니까 피보나치 수열 형태가 된다. 우리가 구하는 N자리 이친수는 f[N]+g[N]이니까 f[N+1]과 같다. * n번째 피보나치 수를 구하는 것은 O(logn)에 가능하다 ===== 코드 ===== <dkpr py> """Solution code for "BOJ 2193. 이친수". - Problem link: https://www.acmicpc.net/problem/2193 - Solution link: http://www.teferi.net/ps/problems/boj/2193 Tags: [Fibonacci] """ from teflib import combinatorics def main(): N = int(input()) print(combinatorics.fibonacci(N)) if __name__ == '__main__': main() </dkpr> * Dependency: [[:ps:teflib:combinatorics#fibonacci|teflib.combinatorics.fibonacci]] {{tag>BOJ ps:problems:boj:실버_3}}
ps/problems/boj/2193.txt
· 마지막으로 수정됨: 2021/12/23 12:13 저자
teferi
문서 도구
문서 보기
역링크
Fold/unfold all
맨 위로