OEIS A400000「城市建造序列」:每座新楼多高,才能刚好看见同高的座数

整数序列百科 OEIS 上,编号 A400000 的条目叫 The city-building sequence(城市建造序列)。规则听起来像搭积木:在一条直线上依次盖楼,第 n 座楼的高度 a(n) 取能满足条件的最短高度 h——从这座楼的屋顶望出去,恰好能「看见」h 座更早盖好的楼。[1]

它不是软件产品,也不是算法库;就是一条写进 OEIS、被数学爱好者继续推算的组合对象。Hacker News 上有人把条目挂出来,讨论的是可见性规则与已证性质。[2]

「看见」怎么定义

条目把视线说成几何直线:楼 a(j) 能看见更早的楼 a(i),当且仅当中间每一座楼 a(k)(i < k < j)的顶点都落在连接 (i, a(i)) 与 (j, a(j)) 的直线下方或线上。共线也算可见。[1]

换句话说,中间不能有楼把视线「顶穿」。高度选错,要么看见的楼太多,要么太少;序列每次都找最小的那个刚好对得上的 h。开头几项是:

0, 1, 1, 2, 1, 2, 1, 3, 1, 2, 1, 3, 1, 2, 1, 10, …

例如 n = 8 时:高度 0、1、2 看见的座数对不上;高度 3 恰好看见三座更早的楼,于是 a(8)=3。[1]

已经能确定的几件事

条目最初留下两个开放问题:序列会不会有一天断掉?若无穷,是不是每个非负整数都会出现?2026 年 9 月 16 日,Rémy Sigrist 在评论里给出了正面回答(摘要如下,证明细节见 OEIS 原文):[1]

  • 无穷:任给已有 n 项,总能找到下一个最小高度 h,使新楼恰好看见 h 座。

  • 无界:高度不会永远卡在某个上限。

  • 包含一切非负整数:从 a(1)=0 出发,若 v 出现过,则 v+1 也会出现。

条目还写明:序列至少有约 23 亿项(计算下界,不是最终长度)。[1]

Francisco J. Muñoz(2026-10-26)把 a(n) 解释成序列自身「自然可见性图」(Lacasa 等,2008)上节点 n 的后向度数——共线点按可见计;每个新项取「与它相连的更早项个数」的最小可行值。[1]

Jeff Sponaugle(2026-10-27)补充了大规模计算观感:前约 1.48×10¹¹ 项里没有超过 1998 的高度;前约 10¹⁴ 项里最高约 309063,出现在下标约 4.96×10¹² 处。前约 1.046×10¹³ 项里,高度 1–5 的频率大约分别是 31%、33%、16%、9%、4%。[1]

和读者有什么关系

如果你玩过「楼顶互看」类谜题,或读过可见性图把时间序列变成网络的论文,这条序列把同类规则收成一条可查、可证、可继续算的 OEIS 条目。相关编号包括首次出现高度 h 的下标 A399763,以及纪录高度相关的 A399949 / A399950。[1]

想自己推几项,条目页有 Mathematica、Python 生成器与 C# 程序链接;图示与散点图也挂在 Links 里。权威定义与证明仍以 OEIS 页面为准。[1]

说明:本文为数学科普转述,不构成对序列应用或「产品化」的宣传。证明与统计数字以 OEIS A400000 条目及署名评论为准。

来源

[1] OEIS A400000 — The city-building sequence,Eric Fox 等;查询日:2026年10月28日。

[2] Hacker News: OEIS A400000,查询日:2026年10月28日。

#OEIS #A400000 #城市建造序列 #组合数学 #可见性图 #科普

排序方式 :

成为第一条评论!

Nobody's responded to this post yet. Add your thoughts and get the conversation going.