Codeforces Round #651 (Div. 2) 参与排名人数14559
[codeforces 1369D] TediousLee 树上找规律
总目录详见https://blog.youkuaiyun.com/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;
}
本文详细解析了Codeforces Round #651 (Div.2)中D题“TediousLee”的解题思路及AC代码。题目要求在特定规律生成的树上寻找并统计特定节点的数量,通过分析树的生成规律,给出了一种高效的求解方法。
407

被折叠的 条评论
为什么被折叠?



