文章

天梯赛比赛实况 —— 2025019游记

天梯赛比赛实况 —— 2025019游记

0x00 我也可以报这个吗?

大一下学期真不打算打竞赛了。主要是因为自己太弱了QAQ。

不过叶喵说这个选拔赛有手就行,好吧,那就打一下。

0x01 天梯选拔赛

2025/04/09 下午选拔赛。题目是校队成员出的。

这个比赛是这样啊!三个小时但是十五道题,L1 八道水题,分数分别是 5/5/10/10/15/15/20/20L2 四道中档题,25/25/25/25L3 三道难题,30/30/30

叶喵跟我说打完 L1 应该就进了()

0x02 奇异搞笑选拔赛

L1-3 不会写。

在 MCPlayer542 的电脑上,第一个新建的文件夹的默认文件名为 New Folder,如果此前已经有新建的文件夹了,则默认的文件名为 New Folder (i),其中 i 是从 开始的能不与其他文件名冲突的最小整数。例如,当已经有 New Folder 和 New Folder (2) 时,新建文件夹会产生 New Folder (3)。

在复制的时候,复制出来的文件夹名字总为 * - Copy,其中 * 代表原来复制的文件夹名字。

如果此时会产生文件名冲突,若文件中已经有数字,则会按照之前的规则选择一个最小的不冲突的数字标号;否则变为 * (2),其中 * 是冲突的文件夹名字。例如已有 New Folder (2) 和 New Folder (2) - Copy 时,复制前者会产生 New Folder (3) - Copy,而复制后者会产生 New Folder (2) - Copy - Copy。

这 nm 什么东西,我看的头都要大了。skip!

L1-6 是叶喵出的。你看看这样例😋

1
2
3
4
5
6
7
3
gplt
[mygo]p[log]t
acid
[ave][mujica][sig]d
apple
appl[ab]

然后有个人出了上下不对齐的数据。

(当事人):题目也没说一定对齐呀?

L1-7 skip 了,我看给了一个长度 $10^5$ 的序列反复取,感觉需要神秘预处理啊!不会打,好菜😭

L1-8 非常搞笑。由于前一天模拟赛的时候有一道一模一样的题而我又使用了极大抽象的做法来写导致我这题也使用了极大抽象的方法来写。

L2-1 把题目翻译一下就出来了,把题目 “必须要走 $k$” 用分层图的思想转化为两个 dp 数组分别转移就行了。但是有个特判地方没判跳了

L2-3 找规律其实非常简单但倒闭了。

L3 只找到一道可暴力题并打了。

然后看 L1-3

MCPlayer542 进行了三次操作,每次是新建文件夹或复制。他想知道这三个文件分别的文件名是什么。

好笑。就三次操作啊,第一次必定是创建新文件,那我手玩了。

再看 L1-7

$1\leq \sum\limits_{i=1}^q(r_i-l_i+1)\leq 10^5$。

好笑。

做完这个就剩 20min 了,L2-2 没调出来倒闭了。

rank 9 但是榜二是 ai。闹麻了。

0x03 是名单,也是请假条

校队 + 选拔 = 40人。我是 23,排在三队。天梯赛一个学校只有三个分数最高的队占成绩。所以四队就很惨了。

诶但是你怎么知道正式赛和高数期中冲突所以翘了🤓👍

0x04 考前美丽音游时间

上午九点出发但是下午一点半才考试。你的意思是我上午翘掉的期中可以用来爽玩?

下了大巴车去考点。拿了饭票去拍合照。

你西交还是你西交,我看到我们学校四个队队名叫 “秦人”、“汉人”、“隋人”、“唐人”。牛逼。

能想出唐人这个队名的家里要请高人了。

诶?我怎么分到二队了?其实是这样的:一队有人临时有事润了,然后随机抓一个二队的人前来替补,抓一个三队的人替补替补一队的替补,抓一个四队的人替补替补替补一队的人的替补的替补。很神奇啊!我不是我们组 rk1 但是就是被 rand 上去了。很遗憾成为本队最菜的笨蛋呜呜呜。

去看了眼考场,都很破烂,电脑甚至是 720p 的。不让开机,于是出去打音游。

和叶喵、ShwStone、树剖喵喵一起打了 Phigros世界计划:缤纷舞台!好开心哦,终于能和好多人一起联机音乐游戏了ww

0x05 事已至此,先吃饭吧

下午一点半开考,先吃饭吧。吃的是汉堡,原价 25 RMB,餐券秒了。四个人都选的套餐 A,一个牛肉汉堡一份薯条一杯小可乐。

(其实等餐的时候又开始打音游了)

DESTRUCTION 3,2,1 喜提 rks += 0.01

这个汉堡相当好吃。薯条也是现炸的,很脆!可乐就有点烂了,常温的小瓶百事可乐。总体来说还是相当不错的。

在食堂和西工大本校的高中同学 jxd 见了一面。

吃完了就开始犯🍬了。呃比如说比赛三个小时不能趣味生煎,但是有人仍然在吃完饭快开考的时候点了一杯蜜雪冰城。下完单猛然惊醒打电话给店家说是放到冰箱里保存。

0x06 素质很差的比赛

考前看了个 KMP 就进去了。主要是真的不写就记不得了。

考试开始之前不让碰电脑,缺省啥的都不让打。可以在 13:30 ~ 13:40 进入系统,都可以获得完整 180min 的比赛时长。

对,所以我选择先打个缺省然后进系统。时间大概是 13:33

然后……

然后就卡住了。

对。这牛逼服务器卡住了。刷不出题目。刷出来了也提交不了。拥挤程度堪比音律联觉抢票。

开摆,罚坐。看到旁边哥们身份证出生年份 1999 有点牛逼的。研究生也来打吗?

这 b 系统算是开始恢复了,终于能正常开始敲代码了。也就是十五分钟左右的时间?总之就是,完全进不去到可能进去再到完全正常是三个相差挺远的时间点。这个时候我想起来赛前宣读的比赛规则,“考试结束 10min 左右系统崩溃是正常现象,不予补时”,忍俊不禁了。

L1-1 无输入,输出文本。L1-2 输入三个整数输出它们的和。

L1-3 简直就是大粪。首先,题目中模糊了大于等于和严格大于的论调导致我们只能靠样例猜测出题人的意思。其次,这个题面我无法以常理理解,我觉得正常人类也不会这么判断。最后,你告诉我输出 “Bu Tie”(补贴) “Bu Re”(不热) “Shu Shi”(舒适)是个什么 78 玩意?我还是第一次在比赛看到中文转拼音输出的,牛逼👍

L1-4 整数对二进制取整。L1-5 记录每个元素出现的次数。

到这个时候,系统已经完全恢复了正常的评测状态。那怎么补时呢?加三十分钟?十五分钟也不是不能接受……

嗯。

嗯?

你延了一个小时?

0x07 计划有变,手速局变耐久局

不对,是憋尿局。三个小时不允许趣味生煎已经很牛逼了,四个小时你是?

L1-6 对数列进行操作。第一个操作是在原串里找到一个给定的 $L_1$ 序列替换成 $L_2$。我一看直接乐了这不 KMP 吗,但是我一看这傻逼操作能被卡到需要用 KMP 的可能几乎为 0 所以直接糊了个暴力过去秒过。

L1-7 我感觉是暴力预处理一个表然后 $O(n^2)$ 枚举的。看别人 $O(n^3)$ 纯暴力随便过给我吓傻了。

L1-8 把每个点排序然后删掉的时候判断有没有被删掉就行。

哦,忘记说了,我不能输出行末空格,不然会格式错误。每次输出还得手动加个 flag 判断空格,死吗了。

L2-1 是栈问题,看起来很简单,不过我当时以为要建一个计算树,怕自己码力不行 skip 了(事后发现确实很简单hhh)

L2-2 死吗了。其实直接枚举 $y=0$ 和 $y=2$ 时的 $x$,再用 bitset 维护 $y=1$ 时的 $x$ 即可。但是你吗的 $x$ 有重复是怎么个事啊?我一直 MLE 一个点还以为是 bitset 挂了,没想到是因为你吗的去重这块挂了啊!题目说的是 “保证答案不超过 $10^5$ 个” 不是 “去重之前的答案不超过 $10^5$ 个”,我阐述你的梦呀。

L2-3 差分做完了,没难度。

L2-4 最为搞笑。我上来觉得是数位 dp,因为 $1\leq a<b\leq 10^{15}$ 然后 $F(b)-F(a-1)$ 的经典套路。不是,要输出所有满足题目的解?

你输出 $10^{15}$ 个数级别的解我看看?哦时间限制 400ms

不会做,暴力 check 判断输出了,这能获得 13/25 分的啊。

其实是这样的,这个天梯赛把一半的分数放在了一个非常小的点导致做了暴力就能过。有点好笑。

L3-1 Floyd。但是鉴于这是我人生第一次(是真的!)写 Flyod,我决定把它暂放。

L3-2 经验问题。我确实是不知道 “切比雪夫距离旋转 $45^\circ$ 变曼哈顿距离,然后前缀和” 的做法。于是打了个暴力 20/30 跑路了。

L3-3 计数。手玩了一下感觉不是很可做,其实可以试出来某个点然后有一点点分的,但是前面还有若干题需要做,跑路了。

回去开 L3-1。事后证明我的 Floyd 写 错 了。这样的情况下获得了 17/30,大家觉得呢?

但是这题傻逼不是傻逼在这里。我先简述题面:无向图,走边需要花费边权 1,同时心情值会增加边权 2。对于每个询问回答不超过花费上限能到达的点以及到达后能最大化心情值的点。

第一问显然 Floyd,问题是第二问,你很容易想到,我要到达这个点可以在不超限的情况下通过绕弯路的方法获取更大的心情值对吧。呵呵,不让,你只能走最短路。

What the fuck?

我觉得抽象。有一些人这题爆零了。

L3 倒闭了,回去看 L2-4,本人大胆预测性质 $a,b$ 同位数,不然不可能输出那么多。

于是搓了个 dfs 出来,获得了 14/25 好像。不对,这次过的好像是之前没过的点,之前暴力过的点寄了?那我是不是能在 $b$ 小的时候使用暴力呢?

距离考试结束还有 3min,我提交了这份代码。现在评测大量排队,花了不少时间看到获得了 22/25。不太对,怎么两个小点挂了?

卧槽,我忘记判断 No Solution 了。一看时间,离比赛结束还剩 50s,立刻红温进入超动力模式。来不及在 IDE 改了,我直接在提交代码的窗口手动修改。离比赛还剩 8s,我终于写完提交了。24/25,我草真蓟县吧。

长出一口气,肾上腺素还未完全褪去,收拾东西走人。

0x08 赛后总结

组别得分总分满分
L1$5+5+10+10+15+15+20+20$$100$$100$
L2$25+23+25+24$$97$$100$
L3$17+20+0$$37$$90$
奖项个人二等奖$234$$290$

总的来说打的还行,超出预期,特别是最后蓟县 8s 提交确实爽到我了。而且因为延长的 1h 我尽可能把所有能拿到的都拿到了,感觉已经燃尽了hhhh

反思一下不足的话,em 其实大部分的问题来自主办抽象的题面描述!😡自己的话,Floyd 现场写确实有点搞笑了;L3-2 转 $45^\circ$ 变曼哈顿距离这我真想不到,经验问题;L3-3 甚至不会暴力状压 21/30 的做法不太好。

总的来说很棒啦!大概总分是比水平相近的同学高出一点ww

发现自己二队是学校 rk1 陕西 rk3 全国 rk21 啊!占到光了属于是。在原来的队应该是 rk3/10 但是在二队就是 rk10/10 了,$awa$ 是躺赢狗!

整体都打的挺不错的,xjtu 全国 rk8,好诶!

居然可以发 8000 RMB,一个人能分到 200 RMB,哦呀还有米恰的,这么爽。😋

0x09 吃吃吃

坐大巴车回学校之后和校队同学去吃饭了。

大锅饭,好吃滴捏。

本文由作者按照 CC BY 4.0 进行授权