定义
根据OEIS A006345的描述:
要查找
a(n),请考虑a1或a2。对于每个a(n)=1,2序列,找到最长的重复后缀,即对于每个序列,找到s具有序列a(1),...,a(n)结尾的最长序列ss。使用导致后缀较短的数字。a(1) = 1。
解决的例子
a(1)=1。
如果是a(2)=1,我们将得到1 1从末尾最长的一倍子串是的序列1。如果a(2)=2不是,那么它将是空的子字符串。因此a(2)=2。
什么时候n=6,我们在1 2 1 1 2 1和之间选择1 2 1 1 2 2。在首选中,1 2 1从末尾开始连续翻倍。在第二选择中,它是2。因此,a(6)=2。
什么时候n=9,我们在1 2 1 1 2 2 1 2 1 和之间选择1 2 1 1 2 2 1 2 2。在第一种选择中,最长的双倍连续子字符串是2 1,而在第二种选择1 2 2中,最后连续地双倍连续。因此a(9)=1。
任务
给定n,退货a(n)。
眼镜
n将是积极的。- 您可以使用0索引而不是1索引。在这种情况下,请在您的答案中注明。同样,在这种情况下,
n也可以0。
测试用例
测试用例是1索引的。但是,您可以使用0索引。
n a(n)
1 1
2 2
3 1
4 1
5 2
6 2
7 1
8 2
9 1
10 1
11 2
12 1
13 2
14 2
15 1
16 1
17 2
18 1
19 1
20 1
n=9,第一个选择的末尾1 2 1 1 2 2 1 2 1有双倍的子字符串2 1。