http://acm.hdu.edu.cn/showproblem.php?pid=2047
题意:
给一个长度n,由E,O,F三个字母组成长度为n的序列,满足oo不能在一起,求满足这种条件的序列有多少?
递推:
从后面推起: 当第n个为O时,第n - 1个只能是E,F两种,前面的就是dp[n - 2],即这种情况是 2 * dp[n - 2];
当第n个字符不为O时,此时这个点为E,F两种,前面的是dp[n -1],即这种情况是2 * dp[n - 1];
所以递推式为:dp[i ] =2 * ( dp[i - 1] + dp[i - 2]);
递推式出来了,又是一维,一个循环就解决了;