一场喜爱四批毁了我的厕所梦

· · 生活·游记

Day -inf

开始停课了,发现训练效率大致呈单调不增。

高一学生,估计就这一次了,毕竟是沙雕省沙雕校,没啥机会。

希望今年能打进厕所,毕竟以我现在的水平去打喜爱四批2024/2025,是能轻松打到300+的,毕竟我恶补了 AC 自动机。

今年应该不会考什么猎奇字符串算法了吧。

Day -3

伟大的 N 老师给我们安排了一场黄青蓝紫模拟赛,并声称这个与 CSP2025 拥有相同的难度。实际上发现四个题都是 USACO 的月赛题,个人认为青和蓝在思维上都比较绿,但是蓝写起来像是赤石,于是没有时间去思考紫,输完了。

Day -1

又是一场黄青蓝紫,我认为应该叫黄绿蓝绿。

黄比较阴间,有一个小特判没判导致挂了 24 pts。秒了 t2 和 t4 之后被 t3 硬控,于是拼尽全力无法战胜,索性睡了一觉,给我睡爽了。

严肃在信心 round 丧失了信心。

Day 0

昨天老 N 说不用来了,于是严肃在家颓废一上午,中午开始前往日照。

去试机,发现和去年在一个考场。换了个键盘之后和旁边初三小朋友聊天,严肃观察他对着手机上的锣鼓抄了一份 【模板】线段树1,拼尽全力无法绷住。

复习了一下 KMP。

在山外的广场发现大量初中同学,于是玩了一会,期间尝试躺在旗杆后面的大石头上,差点被人滚下去,我果然是一条抽取。

Day 1

正文。

中午想到可能考图论,于是复习了点双和边双。

开考,开 t1,这是什么路边一条,秒了,使用 2 min 写完。

不对我怎么挂了,哦原来我二分写反了,遂过所有大样例。

开 t2。不对怎么这么熟悉,我直接想到了 数据删除,我好像做过原。这无疑是简单的,地铁的条数和 d 的存在简直在明示这题怎么做,花费 1 ms 会了,遂写之。

不对怎么要写 fylod,我无疑是早就把他忘了的,我无疑是惊慌的。于是把他当成 dp 推了一遍,得到了一个 kij 做法:

for(int k=1;k<=n;k++){
    for(int i=1;i<k;i++){
        for(int j=1;j<k;j++){
            upd(i,j,dis[i][k]+dis[k][j]);
        }
    }
}

可以发现这个是没有正确性的,好在嘻嘻爱抚的小样例 2 把我 hack 了,遂作出改动:

for(int k=1;k<=n;k++){
    for(int i=1;i<k;i++){
        for(int j=1;j<k;j++){
            upd(i,k,dis[i][j]+dis[j][k]);
        }
    }
    for(int i=1;i<k;i++){
        for(int j=1;j<k;j++){
            upd(i,j,dis[i][k]+dis[k][j]);
        }
    }
}

哈哈哈哈哈哈这无疑是正确的,我通过了样例 2 和所有大样例,时间才过去 30 min,我大胜利了。

开 t3。

一眼发现两个不同的路径只能在一点有不同,且不同的点相邻这一关键性质,我意识到这个会非常有用,遂进行思考正解,很快得到一个做法:预处理前后缀的唯一路径点数,枚举这两个相邻的点,进行计数。体感上这题像是蓝。

这时我的效率已经在变慢了,上述过程一共花费 60 min,写完代码之后发现有一万个细节,调试了一万年。

差不多 4:30,这时我开始给自己上压力:所有人都切了 t3,就你没有。于是我开始幻想调对 t3,进入厕所,拿到金狗,逆天改命。还有两小时,于是我决定继续死磕。

在 5:30 左右发现枚举相邻不同点的做法根本没有前途,这时我认为自己的思考方向上就出现了问题,不可能调对了,遂弃之。

此时心态基本已经崩了,但是好在考场的高压环境让我没有太大的情绪波动,甚至当时还保持着冷静,导致没有彻底崩盘。

t3 平方做法一眼秒了,套个 dddl 优化,方案到 3 就停止加,完事了。A 性质也是一眼,这两个写完大概到了 6:05。

【数据删除】

回到考场,开始了一个最后的挣扎。恰逢伟大的肚子的和嘻嘻爱抚发现了 t2 样例解释的问题,监考老师给我们宣读了一下嘻嘻爱抚的伟大解释,但是跟我有什么关系呢,我根本就没看样例解释。

在最后的挣扎中写出了一个 B 性质,不知道对不对,毕竟没有样例。

还有五分钟结束了,于是非常不甘心的把代码放进文件夹里交上去,稍微给代码加了微量注释,不知道会不会被迷惑行为大赏收录。

开 t4,没空打任何暴力,勉强理解题意。

得到 100+100+[48,56]+eps=[248,256]。

爆炸了啊啊啊怎么办,我与厕所彻底无缘了,我果然是一条大区。

怎么人均 200 加平凡暴力啊,这是为什么。

发现被许多人单调队列,输完了。

好像我切 t1,t2 之后直接开始拼暴力是不是能轻松拼到 300+,后悔死了,能不能做反悔贪心啊。

回程,大概 11 点到家,困的和死猪一样,直接睡了。

Day 2

昨天晚上好像做了什么连环梦,梦到什么我的 t3 因为写注释等神秘原因没有过编,把我最后的 48 pts 给挂了。

具体地:

for(int i=1;i<=n;i++){
  i.first;
}

感觉上套了很多层,本质上内容相似,非常慌。

下午上了点文化课,稍微学了点 OI。

Day 3

回到海西省理论职专。

进行了微量有效训练和大量无效发呆。

发现 t2 全部大样例中的地铁连成了一条而非交错的网格:

导致 ijk,ikj 写法的 fylod 能过大样例但是全部被创飞。

惊恐的发现我的 fylod 不是标准的 kij,复现代码发现没炸,哈哈哈哈哈哈,我保住了我的 t2。

哈哈哈哈哈哈,喜爱四批是什么野鸡竞赛,下辈子再也不参加了,我要去厕所做梦了。