CSP-S 2026 游记 | AK 是杀穿题目而不是选手
我先看题,T1 问你什么经过操作,什么意思好像是多少水晶可以变成一样大的,我心想这不是弱智题吗,这不是直接输出n就可以了,CSP就这?我飞快地写完代码,样例都懒得测直接开始冲刺满分。我看T2,题目太长了,所以先看T3,好像叫mirgate,我也看不懂什么意思,但是不管了,题目意思好像是什么两个点两条路径什么最短路径云云,于是我脑补一下题意大概就是求多少路径有>=2条最短路径?聪明的我立马用上了小学数学指示,先容斥一下变成几个点对只有1条路径,我想了想,一时没明白,先int ans=0;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)ans++;算出所有点对数量,然后什么是只有一条路径呢?我仔细想了想发现好像路径是可以绕来绕去的,我们不一定直接走过去,所以想必根本不存在这种点对!于是我2s就写完了cout<<ans;但是看了眼样例好像差得有点多,但是肯定是出题人搞事把样例造假了,算我过好吧!
这个T3好难,花了我好多时间,这时时间已经过半了,我需要速战速决。但是教练告诉我们不能急,急了就上厕所,为了上厕所我提前喝了三瓶水用来产尿,这下果然派上用场了!于是我冲向厕所,但是监考把我拦住告诉我要先举手。但是我走到一半又像拉屎,拉完又发现没带纸,只好在冲水的把手上面蹭几下,好恶心,而且好像还没擦干净,我只好把所有包间的把手都蹭一遍,感觉终于干净了。我一路小跑赶紧回去继续,怎么拉是拉了10min。
然后我看T2,这不是叫我输出最短路吗。但是我忘记spfa怎么写了,我得发明一个最短路算法。一想我发现真简单,直接枚举我是怎么经过点的不就行了,好像可以1!+2!+..+n!做,最短路是不会成环的,因为这题好像边都是大的,我真实太聪明了,我这次谨慎了一点,测了样例,RE了几下,我想肯定是代码太热了所以RE,于是我往机箱旁边撒了很多水,又随便改了几下,通过!后面的样例我一看都是几千几万行的,好像我手根本输不完,但是评测机听说不是手动输入的,那肯定快飞了,我一定是通过了!我高兴得跺脚,被提醒不要打抄大闹,sb监考事真多。这个题我做得好快,还有1h做T4,离满分月来越近了!
然后一看T4我人都傻了,好像叫我输出值进来着,这个我前几天还新学了一个笋法,大概是每届两个点算距离,距离怎么算来着,我可以枚举树上每个点,看看在不在两个点之间,这个怎么判断来着,我又想了想,发现这个意思是三个点在某一条路径上,所以我可以预先枚举所有路径,n^2,然后枚举路径上三个点,n^3,存下来,然后我枚举两个点n^2,枚举第三个点n,在n^5的表离查,复杂度n^8!我把10^6的数据带进c++里一算,int a=1000000,cout<<aaaaaaa*a;,好像是0!!!原来我的复杂度是O(0)的!我这不是打完比赛就可以图灵奖了???但是这时只有30分钟了,我需要飞快!我已外星人的手速打完打麦,这时只有3min了,监考提醒我们检查文件,我只好补测样例了,检查一下就准备离场拿图灵奖了!
哦,妈妈问我分数,我想了一下,第一题稳过,100,第三题样例错了,肯定有过程分,算50,T4每来得及看,但是我都要图灵奖了,算我200分,T2我不清楚评测是手动的还是自动的,也算我过程分,50。那我不低于400,赢赢赢!!!我还碰到了己方打牢走二三,他告诉我他轻松ak了。我思索一二,好像ak是allkill的缩写,也即全场通杀,但是我还活着说明他没有杀穿全场,原来声称自己ak的都是骗骗人的,作弊啊,要禁赛三年的好不好,原来这么多人都是作弊的,只有我发明了O(0)算法无敌了!
更新:和走二三打捞深入交流后,我意识到T1T3我的做法是假的,我读错了题,所以0分。T2我的复杂度错的,最慢的是复杂度,不到12分。T4我做法假了,算出来O(0)是因为溢出成0了,用py算就是1e48,所以0分。ak的意思是通过了所有问题,400分而不是杀穿了选手,400分就是400,而我只有0+12+0+0,大概12分不到的样子,但是宇宙射线攻击评测机,大家纷纷因宇宙射线F成0 分,我还是有机会1等将的!
参考资料.