0
点赞
收藏
分享

微信扫一扫

hdu 2047 阿牛的EOF牛肉串(递推,dp)


题意:​​http://acm.hdu.edu.cn/showproblem.php?pid=2047​​

典型的特殊元素不相邻求递推关系的问题。分析:最后一个字符是'O'则有1*2中组合,最后的字符是非'O'则有2*3种情况,这似乎把例子2解释了,但是后面的情况怎样分析?这就陷入了困境,我们换个位置,假设要加上的字符是'O'时,则有情况1*2*f[n-2]种,是非'O'时,则有情况2*f[n-1]种,这样则得到了广义的递推公式。

#include <iostream>
#include<cstdio>
#define LL long long
using namespace std;
LL f[41];
int main()
{
f[1]=3; f[2]=8;
int i,n;
for(i=3;i<40;i++){
f[i]=(f[i-1]+f[i-2])*2;
}
while(cin>>n){
cout<<f[n]<<endl;
}
return 0;
}



举报

相关推荐

0 条评论