关于自然数重复序列⋆运算的技术问题
定义
这部分讨论的是自然数的重复序列,比如$\overline{6} = 6,6,6, \dots$或者$\overline{2,1,2} = 2,1,2,2,1,2, \dots$这类形式。我了解到这类序列可以用幂级数$f(x)(1 + x^k + x^{2k} + \dots)$来精准表示,其中$k = \deg f + 1$;反过来,满足这种形式的幂级数也对应唯一的重复序列,二者是一一对应的。不过我**(这是我的验证尝试结果)**发现,幂级数的加法$+$和乘法$\cdot$都无法对应下文要描述的$\star$运算。
$\star$运算的算法定义
给定重复序列$a = \overline{a_0, a_1, \dots, a_n}$和$b = \overline{b_0, b_1, \dots, b_m}$,我们通过以下算法定义$a \star b$:
输入输出说明
- 输入:$a, b$(有限序列,索引超出自身长度时取模处理)
- 输出:$c$——另一个重复序列的最短有限形式
算法步骤
- 初始化变量:$i = 0, j=0, k=0, c = []; s = 0, t = 0$
- 若$\sum c = \text{LCM}(\sum a, \sum b)$,则尽可能化简$c$并返回结果。
- 令$s = a_i, t=b_j$。
- 若$s=t$,则设置$c_k = t = s$,同时更新$k = k + 1$、$i = i +1$、$j = j + 1$,并重置$s = 0, t = 0$,回到步骤0。
- 若$s \lt t$,则更新$s = s + a_{i+1}$、$i = i + 1$,回到步骤2重新判断。
- 若$s \gt t$,则更新$t = t + b_{j+1}$、$j = j + 1$,回到步骤2重新判断。
可以证明,这个算法最终会生成一个重复序列,因此$\star$运算在这类重复序列的集合上是封闭的。
待解决问题
核心问题
给定$h$个重复序列$a_1, \dots, a_h$,求$(a_1 \star \cdots \star a_h)0$的非平凡上界——要求这个上界比已知的平凡上界(即结果序列的周期$\text{LCM}(\sum{i=0}^{n} a_i, \sum_{i=0}^{m} b_i)$)更紧凑、更优。
推论问题
有没有比“各序列元素和的最小公倍数”更高效的终止条件?
有时候必须等到达到这个LCM才能终止,但我希望在可能的情况下提前终止。注意:请给出不使用记忆化的解决方案,因为记忆化会掩盖背后的数学原理。
备选问题
$\star$运算是否满足结合律?
示例验证
我们来看一个手动计算的实例:
当序列$a$的元素和为5,序列$b$的元素和为7时,运算得到的结果序列$c$的元素和是35,而$(a\star b)_0$仅为2。这说明当前的终止条件虽然可行,但我们完全可以找到更紧凑的首项上界。
备注:内容来源于stack exchange,提问作者TotoposAndPicoDeGallo

