首页 > 代码库 > 递推 HDU 2569
递推 HDU 2569
考虑n-2 n-1 n
z[n] 代表n个块 可行方案
1 n-2 和n-1 同 3*z[n-2]
2 n-2和n-1不同 2*(z[n-1]-z[n-2]); 减一减 然后可能是其中一种 *2
z[n]=2*z[n-1]+z[n-2];
z[1]=3;
z[2]=9;
#include<stdio.h> #include<string.h> #include<algorithm> #include<math.h> using namespace std; typedef long long ll; #define MAXN 105 ll z[MAXN]; int main() { z[1]=3; z[2]=9; for(int i=3;i<=40;i++) z[i]=2*z[i-1]+z[i-2]; int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); printf("%lld\n",z[n]); } return 0; }
递推 HDU 2569
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。