总结题目的动态规划解法和普通的动态规划相比难点在于找公式,状态转移方程涉及到的不至是前一项,还有可能是前几项,所以在数学上推导,公式尽量网f(n)与f(n-1)...f(n-k)上靠拢。
import java.util.*;
public class Main {
public static void main(String args[]){
Scanner in=new Scanner(System.in);
long dp[]=new long[30+10];
dp[1]=3;
dp[2]=9;
for(int i=3;i<=30;i++){
dp[i]=2*dp[i-1]+dp[i-2];
}
while(in.hasNext()){
int n=in.nextInt();
System.out.println(dp[n]);
}
}
}