线性时间求解 Erd\H{o}s-Ginzburg-Ziv 定理
数据结构与算法
2026-05-22 v1 组合数学
摘要
Erd\H{o}s-Ginzburg-Ziv 定理指出,任意长度为 2n-1 的整数序列必包含长度为 n 且其和可被 n 整除的子序列。Choi、Kang 和 Lim 提出了一种简单确定性 O(n log n) 的算法用于寻找此类子序列,Leung 最近将其改进到 O(n log log log n)。我们给出一种确定性线性时间算法。核心是一种用于以下素数目标子集和问题的线性时间算法:给定 Z_p 中的 p-1 个非零剩余值和一个目标剩余值,查找其和等于目标值的子集。我们的算法维护可达和的紧凑算术序列表示。当两个序列相交时,其和中的一个受限 Frobenius 区间允许将其合并为一个更长的序列,以足够的增长支付更新费用。当表示包含完整序列或覆盖所有非零剩余值时,可对目标剩余值进行 constructive 恢复。标准的乘法性归约随后将素数算法推广到任意模数。
引用
@article{arxiv.2605.21753,
title = {Finding a Solution to the Erd\H{o}s-Ginzburg-Ziv Theorem in Linear Time},
author = {Sunghyeon Jo},
journal= {arXiv preprint arXiv:2605.21753},
year = {2026}
}
备注
10 pages