这篇是2026江苏省程序设计大赛的游记,会涉及一些相关的题目信息以及解题思路,如果想要自己后面VP(虚拟参加)的话,可以等结束再看。
Day -1
队友H和G周五晚上就可以润来南京了,我由于周六上午有课,遂等上完课,自行坐高铁到南京南站,南京南到东南大学可以通过地铁三号线半个小时直达(真的很便捷啊!)
但是我刚到体育馆,热身赛就结束了(完美错过)。
跟队友会面之后,队友扔给我饭票,就跑去饭堂吃饭,但我要参加华为的宣讲会(主要是因为中奖了,但是最后发现奖品是天堂伞,于是我背包里有两把雨伞),宣讲中印象比较深的部分就是在
ai coding、agent这些时代变革的产物下,当代企业、学生的方向的思考,以及对古法编程的思考
- 当下是一个“生产力爆炸”的背景,但是我们个人的生产速度提高,不代表我们的组织的生产速度提升,人之间的沟通成本无法降低,反而人工作的深度会被这些个人生产力提升所带来频繁沟通打断(感兴趣可以去看之前关于深度工作的随笔)
- 架构面向对象的转型:以前都是人干活,现在一些简单的工作可以交给ai来完成,但是我们必须要面向ai来设计相关的架构,接口等来推动ai服务
- skills资产成为公司和个人之间的新竞争力,不亚于人才这个竞争力,这会让我想到生产力带来便利的时候也会让人带来差距,例如,ai,agent每个人都会用,但是只有你配好了最适合你的skill,方法论这些,才能真正驾驭它,实现事半功倍的效果
- 结构层次、人才的变化:
- 人才培养变换:
- 超级个体的涌现:出现善用ai coding的超级人才,企业会对这些人才资源倾斜,希望带来鲢鱼效应
- 人才画像转型:未来需要好奇心+思辨精神的,听话型人才价值降低
- 能力断层:AI编程吃掉新人成长空间,AI能力需在学校培养
- 组织变化:
- 变扁:出现职能融合的现象,例如开发测试一个人完成
- 变倒三角:未来入门工程师的需求急剧变小
- 人才培养变换:
yysy,东大怎么只给一餐15rmb的餐券,有点扣扣的,而且我去饭堂还不能用微/支来补差价,然后找了一个14.9的鸡肉煲,结果发现是红油的,没吃多少,把我直接辣死了,晚上回去点了一个南京大排档当夜宵了
Day 0
早餐吃酒店楼下的曼玲粥,有点贵啊,点了一个皮蛋瘦肉粥+素锅贴:13+6=19rmb,不过老板送了一个水煮蛋,我最后粥没喝完,担心吃太饱,万一在赛场里犯困打瞌睡怎么办
我估计是我们队里的喝水大王:
我们队拿上热身赛的两瓶水,一共5瓶水,我喝了三瓶,然后我比赛结束才喝我的那瓶咖啡()
昨天听队友说他热身赛好像犯唐比较严重,然后昨晚他写abc的时候,我们弄出思路了,然后因为变量名用混了而耻辱下播,于是预言我们这个养老队估计今天也要犯唐耻辱下播了(好像还真的说中了)
开赛
G写代码板子,H从前往后,我从后往前看,然后不到30s就扫到了I题签到题,但是太简单了,于是我拉H来看,发现没有读假,雀氏很简单。
然后他上机写的时候,我又开始找题,发现有人过来C题,然后跟G口胡一下之后,这个也是签到题,直接秒了。
G上机写C,我和H看榜写A,这时候我们开始犯唐了
A题
给你一个数轴,上面有n个点分别在t_{i}时刻出现在x_{i}位置上,然后每一个点每秒可以前后扩散一个新点,然后新的点也可以扩散,问最快什么时候,扩散到整个数轴上
一些还记得的错误修改(因为我是这题主要还是我写的,主要“战犯”)
- 采用对于每一个点按照位置排序,然后二分每一个点判断能不能连接前面以及后面的点。
- 发现二分的上界不是数轴长度,而是数轴长度出现时间上限
- 发现一个多个点可以出现多个点,然后我们每一个位置,只保留最快出现的点
- 发现一个点如果出现得早就可以跨点传播,并不只是相邻的,然后就改成每一个点扩展成一个区间,看一下这n个区间能不能覆盖数轴
- ……
第七发提交的时候终于过了A,G在我们写A的时候一直在思考L题这个神秘博弈。
H跟G一起看博弈了(G从此之后一整场都被L题困死,H时不时被我拉去给我代码debug),但是我是博弈低手,平时都不怎么练博弈这个板块,遂跟榜看题,那时我看了B题和K题,一个数学题,一个第一眼感觉是很典,但我感觉没碰过这个套路的题目,后面的3h的时间,我都交代到这上面去了。
B题
就是给你一个T组x\leq 1e^{9},问你满足式子a * b +c =x中,max(a,b,c)-min(a,b,c)的最小值是多少?
T\leq 1e^{5}
思路
感觉我这个纯是guess啊,这就是实践出真知,工程技巧的魅力?答案肯定是小于 \sqrt{ x }的,a,b是对称,同时是ab之间是乘法,证明这两个数肯定要很大来使得式子快速逼近x的,于是我做出了以下大胆推测:
设a\leq b,b=\lfloor \frac{x}{a} \rfloor,c=a\%b,这是一组可行解
然后我们枚举a,即固定a了,然后发现为了使得等式成立,b=b_{0}-k,c=c_{0}+ka来使得这两个值快速接近,我们可以快速使得这两个值接近,k=\frac{b-c}{a+1}\text{左右}
后面,我写代码的时候发现,在b快速逼近c的时候a\leq b这个约束不管也可以,加上我前面对a的假设,我a枚举[\sqrt{ x }-1000 ,\sqrt{ x }](因为T是1e5约束)


后面想了想,K题我写复杂了,我用了线段树维护查询和修改,以及线段树二分,但是我明明都把性质发现完了,可能是红温导致我写了一般形式的复杂解法,我这个可以出一个K Plus版本题目了(满足\text{所有}i,j,a_{i}\leq a_{j},\text{满足}b_{i} \leq b_{j},就是线段树维护的是一个单调递增的序列,这样才可以线段树二分)
好在最后把K题过了,不然真的就要铜牌耻辱下播了,然后达成成就:省赛三色牌收集,大一铜,大二金,大三银。
比赛过程中,大家犯唐雀氏多,到了大三事情多起来了,我和H忙着保研的事,G也在忙别的事,这学期我们队一次都没一起训过,结果显而易见。
好久没打一场线下比赛,晚上我们队去吃烤肉的时候,我都快睡着了,但是比赛的时候,你有那种全身心投入的感觉挺爽的。



未来渺渺,这学期都在忙保研,总是有点焦虑,没什么成果和绩点,也不知道后面还会不会参加,也许这是xcpc的最后一舞了,谁知道呢,干好眼前的事。