← 完整题目索引

PROJECT EULER · #0691

重复出现多次的最长子串

Long Substring with Many Repetitions

仅题目 · 待解原题 ↗

给定字符串 s,定义 L(k,s)s 的所有子串中,在 s 中至少出现 k 次的最长子串的长度;若不存在这样的子串,则为 0。例如,由于子串 “abca” 出现了三次,有 L(3,“bbabcabcabcacba”)=4;由于子串 “abcabca” 重复出现,有 L(2,“bbabcabcabcacba”)=7。注意,不同次出现可以相互重叠。

anbncn 为由下式定义的 0/1 序列:

  • a0=0
  • a2n=an
  • a2n+1=1an
  • bn=n+1φnφ,其中 φ 为黄金比例;
  • cn=an+bn2anbn

将字符串 c0cn1 记为 Sn。已知 L(2,S10)=5L(3,S10)=2L(2,S100)=14L(4,S100)=6L(2,S1000)=86L(3,S1000)=45L(5,S1000)=31;对于 k1,所有非零 L(k,S1000) 的和为 2460

k1 时所有非零 L(k,S5000000) 的和。

题解待补充

这道题的题目已收录,解题思路、代码和答案将在后续补充。