大三那年我参加蓝桥杯,省赛都没过。不是题不会,是调试卡住了一道大模拟,等调完时间已经不够了。今年朋友拉我一起报 ACM,我本想拒绝,但想到最近在 大模型(01gpt.cn) 上用的 Grok 4.3,决定再试一次。
Grok 4.3 教算法的风格很特别。其他模型喜欢直接给最优解,它却会从最笨的暴力思路开始讲起。
我刷了一道蓝桥杯真题——在一个字符串里找出所有回文子串的个数。我原来的写法是 O(n³) 的暴力枚举。Grok 4.3 不急着给答案,先问我“你有没有发现,以每个字符为中心,向两边扩展的时候,有很多重复判断?”然后它带我一步步推演出中心扩展法,时间复杂度从 O(n³) 降到 O(n²)。
更让我惊讶的是,它说“还可以再优化”。接着介绍了马拉车算法,用我之前做中心扩展法的代码作为基础,一步步改成线性时间。这种“从你现在的水平出发,带你往上够一够”的方式,比直接扔过来一个最优解更容易吸收。
讲动态规划时,它也不直接写状态转移方程,而是先问我“这个问题的最优解,能不能由子问题的最优解推导出来”,逼着我自己去想那个递推关系。
最实用的是调试技巧
有一道并查集的题,我交了好几次都显示部分测试点超时。代码逻辑明明没问题,就是找不到慢在哪。
我把代码贴给 Grok 4.3,它看了几秒就指出关键问题,还解释了为什么这样会退化成链表、为什么在数据量大的时候会超时。
这还没完。它接着教我怎么自己发现这类问题——怎么构造极端测试数据、怎么在代码里加调试输出、怎么用对拍程序自动找 Bug。这些调试技巧比解题本身更有价值。竞赛里真正拉开差距的,往往不是会不会做这道题,而是能不能快速定位问题。
蓝桥杯和 ACM 的备战策略不同
Grok 4.3 帮我分析了两种竞赛的侧重点。蓝桥杯偏重“实现能力”,题目难度适中但代码量大,容易出 Bug。它会建议我把常考题型都敲一遍模板,练到能盲打出来,同时强化调试技巧。
ACM 更偏重“算法设计”,题目难度高但代码相对精简。它会帮我按专题梳理高频考点,然后大量刷题。有意思的是,它给我挑的题都不是随便选的,而是那些“看起来像A题型,实际上要用B思路来解”的变形题。这种变形题做多了,面试或者竞赛遇到新题就不容易慌。
也翻过车
让它给一道数论题的最优解,它给的解法确实是对的,但我完全看不懂。后来我才意识到,不是它讲得不好,是我的数学基础没到那个水平。我让它“换一种更直观的解释”,它才从数论推导切换到找规律的方式来讲。
还有一次问了一道超难的题,它写了一大段推理,结果有个地方逻辑有问题。我没有全信,自己跑了一遍测试用例,发现有个边界条件没考虑到。不管AI多聪明,关键步骤还是得自己验证一遍。
写在最后
用 Grok 4.3 备战竞赛这几个月,最大的收获不是刷了多少题,而是学会了怎么思考。它不会直接告诉你答案,而是带你从最笨的方法开始,一步步走向最优解。这个过程虽然慢,但会让你真正理解算法的来龙去脉。
竞赛的意义从来不只是拿奖。它训练的是你面对一个陌生问题时的拆解能力、调试能力、优化能力。有一个能陪你一步步推导、帮你发现盲区的教练,这条路会走得更稳,也更有底气。