#P12833. [蓝桥杯 2025 国 B] 斐波那契字符串

    ID: 12609 Type: RemoteJudge 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 3 Uploaded By: Tags>动态规划 DP2025蓝桥杯国赛线性 DP

[蓝桥杯 2025 国 B] 斐波那契字符串

题目描述

斐波那契字符串 SS 是由 0\tt 01\tt 1 所组成的字符串,其生成规则如下:

  • S1=0S_1 = \tt 0
  • S2=1S_2 = \tt 1
  • 对于任意正整数 n(n3)n (n \geq 3)Sn=Sn2+Sn1S_n = S_{n-2} + S_{n-1}(“+”表示字符串拼接)。

例如:S3=01S_3 = 01S4=101S_4 = 101S5=01101S_5 = 01101

在斐波那契字符串 SS 中,定义逆序对为满足以下条件的整数对 (i,j)(i, j):

  • 1i<jS1 \leq i < j \leq |S|(其中 S|S| 表示 SS 的长度)。
  • S[i]=1S[i] = 1(第 ii 个字符为 1\tt 1)并且 S[j]=0S[j] = 0(第 jj 个字符为 0\tt 0)。

现在,给定一个正整数 NN,请你计算出 SNS_N 中所有逆序对 (i,j)(i, j) 的总数。由于结果可能很大,请输出其对 109+710^9 + 7 取余后的值。

输入格式

输入的第一行包含一个整数 TT,表示测试用例的数量。

接下来的 TT 行,每行包含一个整数 NN,表示要计算的斐波那契字符串的序号。

输出格式

对于每个测试用例,输出一行,包含一个整数,表示 SNS_N 中所有逆序对的总数对 109+710^9 + 7 取余后的结果。

2
3
5
0
2

提示

【样例说明】

对于 N=3N = 3S3=01S_3 = 01,逆序对总数为 0。

对于 N=5N = 5S5=01101S_5 = 01101,逆序对为 (2,4)(2, 4)(3,4)(3, 4),总数为 2。

【评测用例规模与约定】

对于 20% 的评测用例,1T201 \leq T \leq 203N353 \leq N \leq 35

对于 100% 的评测用例,1T1051 \leq T \leq 10^53N1053 \leq N \leq 10^5