十一月算法手记:在代码迷宫里找光的三十夜

#十一月总结#深秋的风卷着梧桐叶,扑在训练室的窗玻璃上时,我正对着屏幕上闪烁的光标发呆。那行代码像条倔强的蛇,在黑框里扭来扭去,就是不肯吐出我要的结果。已经是晚上十点了,训练室里只剩下键盘敲击的咔嗒声,还有队友小李保温杯盖子碰撞的轻响。
我是在这个月,第一次觉得 ACM 像场漫长的探险。以前总觉得刷题是打怪升级,可这个月,我却在一道看似简单的图论题里,困了整整三天。
一、那道让我掉眼泪的题
11 月 7 号那天,天阴得像块湿抹布。我对着那道题的测试数据,第 N 次把写了一半的代码删掉。“你是不是把有向图和无向图搞混了?” 身后突然传来小林的声音,他端着杯热咖啡,雾气模糊了他半张脸。我没回头,只觉得鼻子发酸 —— 为了这道题,我已经两天没好好吃饭,连梦里都是数组越界的报错。
“试试换个思路,” 小林把咖啡塞到我手里,“你看,这题的边如果是双向的,那其实可以拆成两个单向边……” 他拿起笔,在我草稿纸上画了个奇怪的图形,像只八脚章鱼。我盯着那图形,突然觉得脑子里某个结 “啪” 地开了。
那天晚上,当 AC 的提示弹出来时,我盯着屏幕,突然笑出了声,又有点想哭。原来困住我的从不是题本身,是我把自己关在了 “必须立刻做出来” 的笼子里。
二、三人拼图的温度
我们队的三个人,像三块形状奇怪的拼图。我偏执,爱钻牛角尖;小张理性,凡事算时间复杂度;小李细腻,总能发现我们忽略的细节。
11 月 18 号的模拟赛,一道动态规划题把我们逼到了墙角。我坚持用状态压缩,小张觉得记忆化搜索更高效,小李在旁边默默画状态转移图。争吵到最后,小张把笔摔在桌上:“你的方法时间复杂度是 O (2^n),根本过不了!” 我也红了眼:“可你的搜索会重复计算!”
沉默在训练室蔓延,只有窗外的车流声偶尔闯进来。最后还是小李打破了僵局,她把我们的草稿纸叠在一起:“你们看,其实可以把状态压缩的数组优化一下,再结合记忆化的剪枝……”
那天晚上,我们三个挤在一张椅子上,屏幕上的代码改了又改。凌晨一点提交时,三道影子在屏幕的蓝光里晃了晃,然后是三双手笨拙地碰在一起 —— 原来团队的意义,是让三个不完美的思路,拼成一个完美的答案。
三、错题本上的星星
我的错题本扉页,被我画了颗歪歪扭扭的星星。那是 11 月 25 号,我终于弄懂了一道卡了我两周的数论题。不是因为突然开窍,而是某天在食堂排队时,听到两个数学系的同学讨论同余定理,那些曾经晦涩的公式,突然在我脑子里活了过来。
我开始在错题本上写 “碎碎念”:“11 月 3 日,原来并查集的路径压缩要放在 find 函数里,不然会像没加油的车,跑不动”“11 月 12 日,字符串的边界条件总是错,下次要先写特殊情况”…… 这些碎碎念旁边,有时画着哭脸,有时画着笑脸,它们像一颗颗星星,在我算法的黑夜里亮着。
这个月也有遗憾,比如因为紧张,在一次小型比赛里把简单的贪心题想复杂了。那天晚上我在操场走了很久,冷风把脸吹得发麻,却突然想通:原来遗憾不是失败,是提醒我下次要更从容。
四、十二月的风,会带着光来吗?
十一月的最后一天,我把训练室的窗户擦得透亮。看着楼下路灯在地上投下的光斑,突然觉得 ACM 这条路,就像在走一座看不见顶的塔。每一层都有新的迷宫,每一次转弯都可能遇到怪兽,但也总有队友的声音、解出题目时的心跳、错题本上的星星,在黑暗里亮着。
十二月的省赛预选就在眼前,我们三个约好,每天晚上多留一小时,不是刷题,是一起把做过的题再讲一遍给彼此听。我想,我已经不再怕那些扭来扭去的代码蛇了,因为我知道,只要带着这一个月的温度和星光往前走,总有一天能走到塔的顶端,看到更亮的风景。
风又起了,吹得训练室的窗帘轻轻晃着。我低下头,在键盘上敲下新的一行代码,这一次,心里很安静,像有光在跟着。
全部评论

相关推荐

11-17 23:00
南昌大学 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务