[codeforces 1369D] TediousLee 树上找规律

Codeforces Round #651 (Div. 2)  参与排名人数14559

[codeforces 1369D]    TediousLee   树上找规律

总目录详见https://blog.csdn.net/mrcrack/article/details/103564004

在线测评地址http://codeforces.com/contest/1369/problem/D

Problem Lang Verdict Time Memory
D - TediousLee GNU C++17 Accepted 62 ms 19300 KB

题目大意:给定有n层的树,按规律生成的该树,在其中寻找爪子,若找到的爪子里的节点若全是绿色,将其染成黄色,统计染成黄色的节点数量。

数爪过程如下

寻找规律如下,可结合AC代码进行理解。

AC代码如下:

#include <stdio.h>
#define maxn 2000010
#define mod 1000000007
#define LL long long
LL a[maxn];
int main(){
	int t,i,n;
	a[1]=0,a[2]=0;
	for(i=3;i<=2000000;i++){
		a[i]=(a[i-1]+2*a[i-2])%mod;
		if(i%3==0)a[i]=(a[i]+1)%mod;
	}
	scanf("%d",&t);
	while(t--){
		scanf("%d",&n);
		printf("%lld\n",(a[n]*4)%mod);
	}
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章