咕乡

一篇模仿《王安遂》的拙作,以此纪念我初中的 OI 生涯。[1]

我冒了严寒,回到相隔二千馀题,别了二十馀天的 OJ 去。

时候既然是初三;渐近 OJ 时,网络又崩溃了,404 吹进浏览器中,呜呜的响,从主页向外一望,泛白的 UI 下,远近挂著几个抄题解的 xxs,没有一些学术氛围。我的心禁不住悲凉起来了。

阿!这不是我二十天来时时记得的 OJ?

我所记得的 OJ 全不如此。我的 OJ 好得多了。但要我记起他的美丽,说出他的佳处来,却又没有影像,没有言辞了。仿佛也就如此。于是我自己解释说:OJ 本也如此,——虽然没有进步,也未必有如我所感的臭名昭著,这只是我自己心情的改变罢了,因为我这次回坑,本没有什么好心绪。

我这次是专为了别他而来的。我们多年聚校而居的团队,已经公同转给别团了,交团的期限,只在本年,所以必须赶在集训 Day 1 以前,永别了熟识的团队 ID,而且远离了熟识的 OJ,搬题到我在求学的异校去。

第二日清早晨我到了我团的门口了。题库上许多无解的臭题公开摆著,正在说明这团队 ID 难免易主的原因。几团的本家大约已经搬走了,所以很寂静。我到了本校的团队 Q 群,我的团主早已迎著出来了,接着便飞出了三年的奶龙 Esucu。

我的团主很高兴,但也藏着许多凄凉的神情,教我水群,出题,验题,且不谈搬题的事。Esucu 没有见过我,远远的对面站着只是看。

但我们终于谈到搬题的事。我说外间的服务器已经租定了,又买了几个域名,此外须将团里所有的数据搬去,再去修锅。团主也说好,而且题目也略已齐集,数据不便搬运的,也小半删去了,只是造不起新数据来。

“你休息一两天,去拜望同学校友一回,我们便可以搬了。”团主说。

“是的。”

“还有 DZ,他每到我团来时,总问起你,很想见你一回面。我已经将你登录的大约时间通知他,他也许就要来了。”

这时候,我的脑里忽然闪出一幅神异的图画来:深蓝的机房中挂著一面漆黑的显示器,下面是团购的主机,都装着一望无际的老旧的 Win7,其间有一个十一二岁的少年,带着万能头,手敲一个 gdb,向一个 #define int long long 尽力的修去,那 #define int long long 却将关键字一定义,反从他的 gcc 逃走了。

这少年便是 DZ。我认识他时,也不过十多岁,离现在将有三年了;那时我的大号还没棕,whk 也好,我正是一个蒟蒻。那一年,我校是一件大集训的值年。这集训,说是三个多月才能轮到一回,所以很郑重;集训里学算法,算法很多,卡常很讲究,学的人也很多,卡常也很要防挂分去。我校只有一个忙月[2](我们这里给人讲课的分三种:整年给一定学校讲课的叫长工;按日给人讲课的叫短工;自己也开课,只在过年过节以及集训时候来给一定学校讲课的称忙月),忙不过来,他便对教练说,可以叫他的学生 DZ 来卡常数的。

我的教练允许了;我也很高兴,因为我早听到 DZ 这名字,而且知道他和我仿佛年纪,D 姓的,五行缺 Z,所以他的老师叫他 DZ。他是能卡常写玩具装箱的。

我于是日日盼望集训,集训到,DZ 也就到了。好容易到了期末,有一日,团主告诉我,DZ 来了,我便飞跑的去看。他正在个人主页里,橙色的用户名,旁边一个小绿勾,缺省源里写一个明晃晃的万能头,这可见他的老师十分爱他,怕他爆零,所以在嘻嘻佛面前许下愿心,用万能头将他套住了。他见人很怕羞,只是不怕我,没有旁人的时候,便和我说话,于是不到半日,我们便熟识了。

我们那时候不知道谈些什么,只记得 DZ 很高兴,说是注册之后,见了许多没有见过的东西。

第二日,我便要他写题。他说:

“这不能。须评测任务少了才好。我们 OJ 上,下了课,我 malloc[3] 出一块内存来,用 long long 支起一个大 vector,撒下 0x7f,看评测机来测时,我远远地将存在本地的代码只一交,那评测机就寄在机房里了。什么都有:TLE,MLE,RE,UKE……”

我于是又很盼望下课。

DZ 又对我说:

“现在太冷,你夏天到我们这里来。我们日里到大时限题卡评测去,红的绿的都有,TLE 也有,MLE 也有。晚上我和老师修 UB[4] 去,你也去。”

“管 bug 么?”

“不是。写题的人魔怔了写一个 bug 交,我们这里是不算 UB 的。要管的是 a[-1],(i++)+(++i),#define int long long。机房底下,你听,啦啦的响了,#define int long long 在重定义关键字了。你便敲了 gdb,轻轻地单步调试去……”

我那时并不知道这所谓 #define int long long 的是怎么一件东西——便是现在也没有知道——只是无端的觉得状如 typedef 而很凶猛。

“他不 RE 么?”

“有 gdb 呢。运行到了,看见 #define int long long 了,你便改。这 UB 很伶俐,倒向 main 函数奔来,反从 gcc 窜了。他的定义是 #pragma 一般的优先……”

我素不知道天下有这许多新鲜事:大时限题有如许五色的评测结果;UB 有这样危险的经历,我先前单知道他在 C++ 标准里定义罢了。

“我们题目里,“总司令”要来的时候,就有许多 PFer 只是骗分,都有输出流似的两个小于号……”

阿!DZ 的账号里有无穷无尽的希奇的事,都是我往常的同学所不知道的。他们不知道一些事,DZ 在卡评测时,他们都和我一样只看见 OJ 里主页上的页角的陶片放逐。

可惜集训过去了,DZ 须回学校里去,我急得大哭,他也躲到个人主页里,哭着不肯退登,但终于被他老师带走了。他后来还托他的老师告诉给我一道大时限题和几种很好用的卡常技巧,我也曾告诉他一两种算法,但从此没有再见面。

现在我的团主提起了他,我这少时的记忆,忽而全都闪电似的苏生过来,似乎看到了我的美丽的 OJ 了。我应声说:

“这好极!他,——怎样?……”

“他?……他成绩也很不如意……”母亲说著,便向 OJ 外看,“这些人又来了。说是买题目,顺手也就随便 copy 走的,我得去看看。”

团主站起身,出去了。门外有几个 OIer 的声音。我便招 Esucu 走近面前,和他闲话:问他可会切屏幕,可愿意摸鱼。

“我们开热点玩么?”

“我们开热点玩。”

“梯子呢?”

“先开梯子,……”

“哈!这模样了!做题计划这么长了!”一种尖利的怪声突然大叫起来。

我吃了一吓,赶忙抬起头,却见一个五尺高、十五岁上下的南梁站在我面前,两手搭在髀间,没有女仆装,张著两脚,正像一场足球比赛里原地打转的安东尼。

我愕然了。

“不认识了么?我还拉过你进群咧!”

我愈加愕然了。幸而我的团主也就进来,从旁说:

“他多年出门,统忘却了。你该记得罢,”便向着我说,“这是隔壁楼的 wsl[5],……搞 whk 的。”

哦,我记得了。我蒟蒻时候,在隔壁楼的 whk 班里确乎终日潜着一个 wsl,人都叫伊“铸币”。但是穿着女仆装,身高没有这么高,年龄也没有这么大,而且终日坐着,我也从没有见过这安东尼式的姿势。那时人说:因为伊,这 whk 班的氛围非常好。但这大约因为年龄的关系,我却并未蒙着一毫感化,所以竟完全忘却了。然而安东尼很不平,显出鄙夷的神色,仿佛嗤笑化竞生不知道裴成环,信竞生不知道肚子的似的,冷笑说:

“忘了?这真是贵人眼高……”

“那有这事……我……”我惶恐著,站起来说。

“那么,我对你说。Ob 一串字母儿,你进队了,搬数据又麻烦,你还要什么这些破烂数据,让我拿去罢。我们小户团队,用得着。”

“我并没有进队哩。我须搬了这些,再去……”

“阿呀呀,你 ak 了 NOIP 了,还说不进队?你现在有三个 cf 号;上号便是 div.1 的上分场,还说不进队?吓,什么都瞒不过我。”

我知道无话可说了,便闭了口,默默的站着。

“阿呀阿呀,真是愈有实力,便愈是一毫不肯摆烂,愈是一毫不肯摆烂,便愈有实力……”安东尼一面愤愤的回转身,一面絮絮的说,慢慢向外走,顺便将我团主的一个 idea 塞在 U 盘里,出去了。

此后又有近处的校友和同学来访问我。我一面应酬,偷空便收拾些样例,这样的过了三四天。

一日是天气很冷的午后,我打过模拟赛,坐着补题,觉得外面有人登录了,便回主页去看。我看时,不由的非常出惊,慌忙站起身,迎著走去。

这来的便是 DZ。虽然我一见便知道是 DZ,但又不是我这记忆上的 DZ 了。他通过数增加了一倍;先前的橙色的用户名,已经变作棕黄,而且加上了很深的“作弊者”;绿勾也像他老师一样,周围都深得发青,这我知道,在大时限题卡评测的人,终日吃着陶片,大抵是这样的。他账户里是一个破主页,练习记录上只一道极水的黑题,浑身瑟索著;IDE 里攥着一个 Ctrl 键和一对 C-V 键,那 IDE 也不是我所记得的微软的 IDE,却又老又旧而且停更,像是 Win98 了。

我这时很兴奋,但不知道怎么说才好,只是说:

“阿!DZ1000,——你来了?……”

我接着便有许多话,想要连珠一般涌出:MLE,TLE,RE,#define int long long,……但又总觉得被什么挡着似的,单在脑里面回旋,吐不出口外去。

他站住了,脸上现出欢喜和凄凉的神情;动着嘴唇,却没有作声。他的态度终于恭敬起来了,分明的叫道:

“神犇!……”

我似乎打了一个寒噤;我就知道,我们之间已经隔了一层可悲的厚障壁了。我也说不出话。

他回过头去说,“hlt[6],给神犇 orz。”便拖出躲在背后的初中生来,这正是一个几年前的 DZ,只是年轻些,缺省源没有万能头罢了。“这是第五个学弟,没有打过 S 组,躲躲闪闪……”

团主和 Esucu 下楼来了,他们大约也听到了声音。

“老团主。邀请是早收到了。我实在喜欢的不得了,知道神犇回来……”DZ 说。

“阿,你怎的这样客气起来。你们先前不是神人称呼么?还是照旧:Ob一串字母儿。”母亲高兴的说。

“阿呀,老团主真是……这成什么规矩。那时是蒟蒻,不懂事……”DZ 说著,又叫 hlt 上来膜拜,那学弟却害羞,紧紧的只贴在他背后。

“他就是 hlt?第五个?都是生人,怕生也难怪的;还是 Esucu 和他去刷题。”母亲说。

Esucu 听得这话,便来招 hlt,hlt 却松松爽爽同他一路刷题了。团主叫 DZ 登录,他迟疑了一回,终于登录,将 C-V 键靠在桌旁,递过链接来,说:

“初三没有什么东西了。这一点文章倒是自家写在那里的,请神犇……”

我问问他的成绩。他只是摇头。

“非常低。第六个学弟也会打比赛了,却总是分不够……又不干净……什么考试都要钱,没有规定……成绩又低。考出东西来,拿去自招,总要跑几个学校,折了本;不去考,又只能 AFO……”

他只是摇头;剪贴板虽然放着许多文章,却全然不更,仿佛烂尾一般。他大约只是觉得苦,却又形容不出,沉默了片时,便拿起 C-V 键来默默的贺题解了。

团主问他,知道他的 whk 事务忙,明天便得回校;又没有打过模拟赛,便叫他自己到比赛界面写题去。

他出去了;团主和我都叹息他的成绩:主科,副科,体考,一模,二模,三模,四模[7],都苦得他像一个做题家了。团主对我说,凡是不必搬走的东西,尽可以送他,可以听他自己去拣择。

下午,他拣好了几件东西:两个样例,四个数据点,一对 idea 和 std,一个 checker。他又要所有的 ftp 账号(我们这里做题是交 ftp 的,那 ftp,可以放比赛的大样例),待我们启程的时候,他用 U 盘来载去。

夜间,我们又打些 generals.io,都是无关紧要的局;第二天早晨,他就领了 hlt 回去了。

又过了九日,是我们启程的日期。DZ 早晨便到了,hlt 没有同来,却只带着一个十二岁的 xxs 管 U 盘。我们终日很忙碌,再没有打 gen 的工夫。学生也不少,有看热闹的,有顺东西的,有看热闹兼顺东西的。待到傍晚我们弹出 U 盘的时候,这老团里的所有破旧大小强弱数据,已经一扫而空了。

我们的 U 盘向外拔,两边的电脑在黄昏中,都装成了深黛颜色,连着退向 U 盘后面去。

Esucu 和我靠著屏幕,同看外面模糊的风景,他忽然问道:

“大佬!我们什么时候回来?”

“回来?你怎么还没有走就想回来了。”

“可是,hlt 约我到他团玩去咧……”他睁著大的黑眼睛,痴痴的想。

我和团主也都有些惘然,于是又提起 DZ 来。团主说,那铸币的 wsl,自从我家收拾数据以来,本是每日必到的,前天伊在回收站里,掏出十多个交互库来,议论之后,便定说是 DZ 埋著的,他可以在运数据的时候,一齐搬回家里去;wsl 发见了这件事,自己很以为功,便拿了那 generator(这是我们这里造数据的程序,程序上面有着 testlib.h[8],内含 mt19937[9],出题人可以调用函数去用,验题人却不能,只能看着气死),飞也似的跑了,亏伊装着这么高低的小脚,竟跑得这样快。

老团离我愈远了;OJ 的主页也都渐渐远离了我,但我却并不感到怎样的留恋。我只觉得我四面有看不见的 CF 盾,将我当成人机,使我非常气闷;那 OJ 上的卡常的蒟蒻的影像,我本来十分清楚,现在却忽地模糊了,又使我非常的悲哀。

团主和 Esucu 都放学了。

我躺着,听 U 盘滴滴的读取声,知道我在研究我的算法。我想:我竟与 DZ 隔绝到这地步了,但我们的后辈还是一气,Esucu 不是正在想念 hlt 么。我希望他们不再像我,又大家膜拜起来……然而我又不愿意他们因为要一气,都如我的辛苦竞赛而学习,也不愿意他们都如 DZ 的辛苦中考而学习,也不愿意都如别人的辛苦省招而学习。他们应该有新的教育,为我们所未经接受过的。

我想到希望,忽然害怕起来了。DZ 要 idea 和 std 的时候,我还暗地里笑他,以为他总是崇拜 AK,什么时候都不忘却。现在我所谓 AK IOI,不也是我自己的 AK 么?只是他的 AK 更易,我的 AK 更难罢了。

我在朦胧中,眼前展开一间 OI 强校来,上面深蓝的机房中挂著一面漆黑的显示器。我想:AK 本是无所谓有,无所谓无的。这正如信息学的算法;其实信息学本没有算法,写的人多了,也便成了算法。

二〇二五年十月


  1. 原文为鲁迅《故乡》,结合自身经历进行改编,并借用同校神犇 @Oblivious 的视角叙事。 ↩︎

  2. 不知道怎么改了 qwq。 ↩︎

  3. C/C++ 动态内存分配,似乎在 OI 界没什么用。 ↩︎

  4. 即 Undefined Behaviour,未定义行为。 ↩︎

  5. Windows Subsystem for Linux(确信)。 ↩︎

  6. 我初中没几个学 OI 的,于是拉了个现在高中的学弟(时间线错误)。 ↩︎

  7. 是的,我初中中考前有四模 XD。 ↩︎

  8. testlib 可用于数据生成。 ↩︎

  9. 随机数生成器(testlib 用的啥我不清楚)。 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在东莞做网站广告专业的前景和就业方向

01为什么用 JavaScript 来开发桌面应用?曾经的 JavaScript 脆弱、简陋、甚至有被边缘化的危险,不过 JavaScript 在经过了两次飞跃后(以 V8 为首的 JavaScript 引擎和 Node.js 的问世),不再受人欺负,早已升级…

opencv应用经典bug

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Linux随记(十八) - 详解

Linux随记(十八) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

通信算法之281:大疆DJI无人机ID-DJI DroneID开源工程-相关问题-协议信息问题 - 实践

通信算法之281:大疆DJI无人机ID-DJI DroneID开源工程-相关问题-协议信息问题 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

手机网站适应屏幕罗湖网站(建设深圳信科)

目录 1、一致性算法 1.1、什么是分布式系统的副本一致性?有哪些? 1.2、在分布式系统中有哪些常见的一致性算法?

唐山如何做百度的网站建设国际域名的外贸网站

以前公司每年都有年底总结,来新公司没有了年底总结,总觉得缺点什么,公司没有就自己写吧,人生感悟在这里就不多说了,本篇主要总结一下这一年来知识点吧。 这些知识点,每个慢慢整理,将来要保证&am…

全国设计网站建设服务器的作用

【opencv】【CPU】windows10下opencv4.8.0-cuda C版本源码编译教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【opencv】【CPU】windows10下opencv4.8.0-cuda C版本源码编译教程前言准备工具cmakeopencv4.8.0opencv_contrib CMake编译VS2…

Linux 文件 MD5 校验完全指南

Linux 文件 MD5 校验完全指南在 Linux 系统中,文件的完整性校验是数据安全的基础操作 —— 无论是下载软件包、传输备份文件,还是验证配置文件是否被篡改,MD5 校验都是最常用的轻量工具。MD5 算法通过对文件内容计算…

怎样找素材做网站wordpress联系方式

到目前为止,Robomongo仍是MongoDB最好的客户端管理工具,如需在Ubuntu上安装Robomongo,可直接从官网下载.tar.gz压缩包进行解压,然后直接运行bin目录下的robomongo文件即可启动界面。例如我将下载下来的.tar.gz压缩包解压到/usr/lo…

地方网站怎么做推广建筑公司分几级资质

您好,了解到您在更新系统时遇到问题。目前使用的版本是比较靠前的版本吗?要求进行更新的是Windows 10 1709 吧?您可以尝试使用Media Creation Tool创建ISO介质,并使用该介质进行升级安装,看下效果:https://…

week2课后作业

动手动脑:代码在输出时调用名称相同的方法,传入的确实不同类型的参数,最终调用的是两个不同的方法,在调用名称相同的方法时会根据传入参数调用相应的方法

Java 语言程序设计(第二讲 方法)动手动脑与课后实验问题整理文档 - 20243867孙堃2405

一、动手动脑问题 (一)随机数生成相关 依据特定算法编写方法生成指定数目随机整数:已知纯随机数发生器的参数为 Modulus = 2 - 1 = int.MaxValue、Multiplier = 7⁵ = 16807、C = 0,且当显示过 2 - 2 个数之后才可…

唐山网站建设优化方法个人网站怎么做内容比较好

记录一下自己工作中常用的linux命令 查询类 top 实时查看进程 free -h 查看内存 df -h 查看已挂在的存储 fdisk -l 查看所有存储,包含未挂载 编辑类 passwd 修改密码,要进入到系统

asp网站开发模板临沂手机建站模板

作者 | 小碗汤来源 | 我的小碗汤今天演示一个项目,利用Unity做场景、用C#做交互逻辑,将k8s制作成一个3D射击游戏。正好最近在学习Unity,所以利用这个项目开始上手挺合适的。源码、可执行文件可以自行下载,也可在文末获取&#xff…

scratch软件下载拼多多标题优化软件

慢SQL日志简述通过命令和查看日志文件的方式直接查看mysql服务器的慢sql参数配置参数作用slow_query_log是否启用slow_query_log_file日志文件long_query_time慢sql阈值log_slow_adimin_statements是否记录数据库管理相关的sqllong_queries_not_using_indexes是否记录未使用索引…

算法第一章

命名规范:变量、函数、类等的命名要表意清晰。比如用驼峰命名法(如userName),类名采用大驼峰(如UserManager),常量全大写加下划线(如MAX_COUNT),让阅读代码的人能快速明白其作用。 格式规范:代码要有合适的…

义乌官网制作网站wordpress hero theme

1. mmap 基础概念 mmap 即 memory map,也就是内存映射。 mmap 是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后&#xff…

mac打开app提示文件损坏解决方案

打开终端执行sudo xattr -rd com.apple.quarantine 把app文件移入终端重新打开app即可

深入解析:RDMA简介3之四种子协议对比

深入解析:RDMA简介3之四种子协议对比pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…