License: CC BY-NC-SA 4.0
同步发表于新博客。
奔跑。
无尽的奔跑。
听到铃声响起,他站起身,和人潮一起向目的地奔去。人们涌入了几个不同的楼梯。楼梯上是拥挤的,他没法加速,前面的人在一级一级地下楼,他只能放慢脚步。他也不是没尝试过从前面的人身边绕过去,但这样就要没法贴着栏杆走,没有了栏杆提供的向心力,他还是没法加速超过前面的人。
他的脑海里冒出一个想法:在无限长的单行道上,假设每个人匀速前进且速率均不同,快的人会被前面慢的人限速,最终期望会形成几段?
这等价于:给定一个 \(1\sim n\) 的排列,求其前缀 \(\max\) 中不同元素个数期望。
显然这是 \(O(\log n)\) 的。
但当时的他既没有能力也没有动力去解决这个问题。他只是奔跑着,直到跑出楼梯。如果说楼梯上跑起来像是独木桥,那这里就是阳关道了。路的一侧生长着几丛灌木和几棵树,还有一些他已经见过无数遍但叫不出名字的植物。没什么好看的。
他开始加速。他终于超过了楼梯上一直堵在前面的人。他继续向前跑去。两个身影从他身旁跑过,但他无能为力,只能以尽量快的步伐向前。终点就在眼前,玻璃大门前挤满了从各个方向蜂涌而至的人,门是开的,但进人的速率毕竟有限,因此人们在门口堆积。他冲向门口,在人堆中不得不减速,从疾跑变成了小跑。他进了门。
门里早已排起了队,他要做的就是在队伍变成长龙之前把自己塞进这里面的某个位置,这是最后的冲刺。位置越靠后,就意味着要花费越长的时间在等待上,这简直是浪费生命,他想。
时间在日复一日的奔跑中流过。
他发现了另一条路线。这条路比原来那条距离要长,在他之前没有人选择跑这条路。他尝试跑了一次,由于没有比他慢的人在前面限速,他到终点的时间反而更短了。他感觉发现了一条更适合自己的路。
他跑向终点。那天起跑时晚了几秒,大门前的人比往日堆积的更多。他看到有人跑向侧门。他追随着这个人的脚步跑入侧门,门内队伍还没有很长,他松了一口气,像是捡到了弹壳[1]。
他跑向终点。毫不犹豫地,他冲向侧门。他尝试推开门,但门是锁着的。他骂了一句,转头跑向大门。他看到原本在他身后跑向侧门的人开始转身。这种情况不是每次都会发生,正如他不是每次都会走侧门。
他跑向终点。起跑时,他感觉到自己的身后有人在跟随自己,他猜测有人发现了自己的路线更快,于是开始模仿。但这不重要,只要自己跑得快就行了。
他跑向终点。他冲向楼梯时注意到了地上的反光——楼梯前的地面刚拖过,地板上有一层没有完全风干的水。他放慢了速度,直到走上楼梯才重新加速,两级两级地跑下楼梯。过了几秒,他听见上方传来一阵沉闷的响声,一定是有人摔倒了。他庆幸这人不是自己,但并未放慢脚步。
他跑向终点。在他出发之前,在铃声响起之前几秒,他听到了熟悉的跑步声。到达终点后,他发现队伍比往日更长。
他跑向终点。在他走上楼梯之后,铃声响起了。他开始奔跑。
他跑向终点。出发前,他碰倒了水杯,但他无暇顾及。回来之后,他用拖把清理了地面上的水,在放回拖把时无意间踩上了刚拖过的地面,差点摔倒。他想起了之前身后传来的闷响。
他跑向终点。当天提前奔跑的人被发现。当这些人被留下来时,他庆幸自己不是其中一员。
他跑向终点。不久前刚下过雨,楼梯前的地面还是湿的,但他在奔跑中忽略了这一点。在他快要冲上楼梯时,一阵失重感传来。在他的后背接触到楼梯台阶之前,他的大脑一片空白,但紧接着这片空白就被疼痛所取代。他发现自己躺在楼梯上,滑落了四五级台阶。他的第一反应是站起来继续跑,但剧烈的疼痛感阻止了他。他的身后跑来几个人,这些人只是看了他一眼,又绕过他向楼下跑去。过了一会,疼痛感有所减弱,他扶着栏杆站起来,又扶着栏杆一级一级地走下楼梯,每走几步便停下来休息。他明白,一切都已结束,奔跑在现在已经是多余的了。他终于走下了楼梯。不同于平时,眼前这条熟悉的路只有他一人,只有地上的痕迹证明这里不久前有人跑过。他看向路旁的植物:灌木的叶子上挂着还未干透的雨水,树上的白花正在绽放。原来已经春天了吗?他自言自语。他走到终点时队伍已经开始变短了,他选了一队站到最后。之前蜂拥而至的人们已经结束了排队,队伍中人并不多。
铃声响起,人群仍像往常一样奔跑。他等了几分钟,一步一步走向终点。
https://whisper-6.github.io/2025/02/18/bullet ↩︎