[백준] 2410: 2의 멱수의 합 - JAVA
in Algorithm on 다이나믹 프로그래밍
https://www.acmicpc.net/problem/2410
풀이
dp문제.
dp[0], dp[1]을 1로 초기화하고 dp배열을 채운다.
dp[i] = dp[i-2] + dp[i/2] 의 점화식으로 진행한다.
메모리: 22032KB
시간: 148ms
언어: Java 11
코드
import java.io.*;
public class Main {
private static final int MOD = 1_000_000_000;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
long[] dp = new long[N + 1];
dp[0] = 1;
dp[1] = 1;
for (int i = 2; i < N + 1; i++) {
dp[i] = (dp[i - 2] + dp[i / 2]) % MOD;
}
System.out.println(dp[N]);
}
}