CF1369D TediousLee 翻译

首先,我们定义 RDB 为一棵具有特殊性质的树,它有一个级别 l e v e l level level
一个级别为 1 1 1RDB 是一个单独的节点。
接着,对于所有 i > 1 i>1 i>1,级别为 i i iRDB 的构成方法如下。
先求出级别为 i − 1 i-1 i1RDB,然后对于该 RDB 中的每个节点 x x x

  • 如果 x x x 没有孩子,那么给他加上一个孩子。
  • 如果 x x x 只有一个孩子,那么给他加上两个孩子。
  • 如果 x x x 已经有了超过一个孩子,那么我们跳过节点 x x x

以下是 1 ≤ n ≤ 3 1\le n \le 3 1n3 的所有 RDB

接下来,我们定义一个 claw (见下图),它也是一棵具有特殊性质的树,并且将节点 1 1 1 称为这个 claw 的中心,其他的称为底部节点。

现在,给出一个级别为 n n nRDB,初始时他上面的所有节点都为绿色,你可以进行一些操作。
对于每次操作,你需要在给出的 RDB 中找到一个 claw,满足所有底部节点在 RDB 中都是中心节点的儿子,且这四个节点在 RDB 中都是绿色。然后将这四个节点染为黄色。
问最多可以将多少个节点染成黄色。

输入格式

第一行一个整数 T T T,表示数据的组数。
接下来 T T T 行,每行一个正整数 n n n,表示有一棵级别为 n n nRDB

输出格式

输出有 n n n 行,每行一个整数,对应每组数据的答案。
这个答案可能很大,所以输出它对 1 0 9 + 7 10^9+7 109+7 取模后的结果。

说明与提示

1 ≤ T ≤ 1 0 4 1\le T\le 10^4 1T104
1 ≤ n ≤ 2 ⋅ 1 0 6 1\le n \le 2\cdot 10^6 1n2106

感谢 @_Wolverine 提供的翻译

猜你喜欢

转载自blog.csdn.net/Brian_Pan_/article/details/107016653