목록dp (2)
alpyrithm_알파이리즘
DP 11726 2xn 타일링 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 문제 풀기 전 공부할 것 : DP 풀이 2xN의 타일링의 경우 2x(N-1) 타일링에 2x1 타일을 붙이는 경우 2x(N-2) 타일링에 1x2 타일 2개를 붙이는 경우 1과 2의 경우의 합이므로 dp(N) = dp(N-1) + dp(N-2)가 점화식이 된다. n = int(input()) dp = [0] * (n+1) for i in range(1, n+1): if i == 1: dp[i..
DP 1463 1로 만들기 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 풀기 전 공부할 것 : Dynamin Programming(동적 프로그래밍) 풀이 1 점화식 정수 X로 1을 만드는 연산 횟수 dp[x-1] + 1 : x-1로 1을 만드는 연산에 1을 더한 값 dp[x//2] + 1 : x/2로 1을 만드는 연산에 1을 더한 값 dp[x//3] + 1 : x/3로 1을 만드는 연산에 1을 더한 값 위의 3가지 경우의 값 중 가장 작은 값이 정수 X로 1을 만드는 연산 횟수의 최솟값이다. n = int(input()) dp = [0 for _ i..