CSP-J/S 2025 游记 | 依旧学校机房一日游

本人初二,坐标 BJ。

day -11~0

比赛前的两周,每天下午都是停课逃到机房或者回家,打了一周的%你赛,刷了一周的模板题,但是并没有详细的复习最小生成树。

然后考完 CSP 就是期中,所以决定 whk 摆烂了,我已经两周没上道法和历史课了。(地理和生物因为都有一节在上午所以还是上了)

最后一天晚上有点紧张,非常害怕 S 1= 不了,大概 12 点往后了才睡着。

day 1 上午

比平时上学晚起一会儿,然后去学校机房,没有发觉把电话手表放到外套兜里了,还好机房暖器充足,我把外套脱在教室外面了,险些退役。

考试开始先打缺省源和对拍,完事开题,前三题秒了,T4 稍微多想了一会儿,想出来了于是开始写代码。

最终 1h50min AK(包括写对拍的时间),然后开始在代码里写迷惑行为和睡觉。

day 1 中午

吃饭和睡觉。

因为上午 AK 了所以下午信心++。

day 1 下午

从家去学校机房。

依旧先打缺省源和对拍,打完后先把所有题看一遍。

T1 思路秒了,看了看 T2 觉得有希望做出来,细想了一下发现性质 A 很好写,直接把所有乡村都选上就行了,再加上 $2^k$ 枚举选哪些乡村然后 $O(m \log)$ 跑最小生成树能得 64 分,感觉够多了。再看 T3 和 T4,行了都打暴力吧,10+8。

大概 20~30min 写完 T1,感觉没必要写对拍然后就去写 T2。

T2 先写性质 A,我发现我把“均存在 $1 \leq i \leq n$ 满足 $a_{j,i} = 0$”看成“对于所有的 $1 \leq i \leq n$ 满足 $a_{j,i} = 0$”了。慌了一下,但问题不大,好像没什么要改的

然后就写剩下的暴力+对拍,这里的最小生成树我用 Kruskal 写的,对拍用的暴力里 $2^k$ 枚举乡村没什么好改的,我就只把最小生成树的算法换成了 Prim。拍了 1 组数据就拍出错来了,原因是第一个代码中在枚举 $2^k$ 种方案是都在同一张图上做修改,最后没完全清空,而对拍的暴力中我把图复制了一遍再新加边。

写完 T2 大概还剩不到 2h,T3 决定用字符串哈希写暴力,保底 10 分,如果 CCF 新的测评机非常快的话,我还能再拿 20 分,不过我并没有抱有什么期望。

T4 8 分暴力直接按题意模拟即可。

最后还剩 30min(为啥俩暴力写了这么久啊!)决定再去想想 T2,尝试贪心并写了一坨代码,对拍发现没什么问题后在最后 10min 把它跟原来的代码合并了(数据范围大暴力跑不过的时候才用贪心)。

由于无法估测出 1= 分数线,所以最终悬心走出了机房。

day 1 晚上

吃饭,然后玩了 3h 的锈湖。锈湖真好玩。

day 2 上午

睡觉,然后又玩了 1h 的锈湖。锈湖真好玩。

day 2~3

复习期中。

day 4~5

期中考试。

晚上出分了,J AK,S 100+32+30+8=170,我的 T2 怎么挂成这样了?别的同学人均 200+,感觉自己 1= 很悬。

day 6

wzx 巨佬 S 组 215%%%。

看样子分数线在 150 左右,原来是别的同学太强了。有望 1=。

晚上回家看某图灵预测 BJ-S 1= 分数线 155,放心了。发现好像还没人写 J 组迷惑行为大赏,于是决定自己写:BJ-J迷惑行为大赏

day 7

上学,然后膜拜翔哥。

期中也都基本出分了,这里顺便就把 whk 总结一下吧,我们班一共 45 人,年级一共 700 多人。语文 80(班排 38 年排 269左右),数学 92(班排 13 年排 37),英语 82.5(班排 41 年排 不知道),物理 95(班排 倒数 年排 不知道 班级中位数 97)。

语文文常错了一大堆,阅读理解基本上每道题都扣分了,原因是没好好复习,又遇到了毒瘤出题人和毒瘤定评标的人,语文老师讲试卷的时候在喷评标。

数学扣分中有 1 分是因为被老师坑了,有 2 分是因为计算错误,有 2 分是因为考试的时候不知道在干什么,剩下的 3 分是不会几综。

英语常年倒数就不说了。

物理扣的分中,有 2 分是涂错答题卡了,有 1 分是选项看错了,有 1 分是题读错了,有 1 分是疑似考试的时候睡着了。

不难发现我们期中的 RP 都给 OI 了。

day 8

早上睡醒以后把自己 S 组 T2 的代码下载下来,放到洛谷上测了一下发现 36 分,只 A 了前 8 个测试点和第 12 个,剩下的都 T 了,再跟数据范围对了一下发现应该是性质A判断错了。一看发现我的判断写成这样了:

C++
    vi c(k+1);
    vector<vi>a(k+1,vi(n+1));
    bool XZA=true;
    for(int i=1;i<=k;i++){
        cin>>c[i];
        if(c[i]!=0)XZA=false;
        for(int j=1;j<=n;j++){
            cin>>a[i][j];
            if(a[i][j]!=0)XZA=false;
        }
    }

突然想起来比赛的时候好像给这段代码造的数据中 $a_{i,j}$ 全是 0,完全没发现判断写错了。 改成如下代码就能得到预期的 64 分了:

C++
    vi c(k+1);
    vector<vi>a(k+1,vi(n+1));
    bool XZA=true;
    for(int i=1;i<=k;i++){
        cin>>c[i];
        if(c[i]!=0)XZA=false;
        bool sf=false;
        for(int j=1;j<=n;j++){
            cin>>a[i][j];
            if(a[i][j]==0)sf=true;
        }
        if(!sf)XZA=false;
    }

真好。

这样我就能 100+64+30+8=202 了,这样我就上 200 了,这样我就能 7 级钩了,这样我就不至于这样了,这样我就……

于是还是来写游记。

去年 死磕 T2 最终只有 100 分 的结果让我今年选择求稳,如果我不着急去打后两题的暴力,也许就能再优化下 T2,我觉得把复杂度中的 $m$ 优化成 $n$ 的这个思路是我可以秒掉的,但我压根没有去细想,也许再想 30min 就能把 T2 A 了吧?感觉这次比赛完全没把我的水平发挥出来。

170 也可以了,这次比赛只挂了 32 分,最好的消息就是我还有明年,今年也能去参加 Never gOnna gIve you uP,我要往 1= 冲一冲,最好能逃练129

好像我们 3 班只有我一个 S 1= 的(悲

但这是我的热爱,我要继续走下去,而且我不想练129。可我现在是没有放手一搏的勇气和底气的。

我灿烂的人生才过了不过 5000 天(其实是 4993 天),可我竟不再有 5000 天的时间去试错了,可能连 1000 天都难有。可这是我的人生啊!我竟是因为我想做我热爱的事而去做我不热爱的事,虽不算讨厌,但社会为何有如此秩序?以我轻浅的学识想来,一定是背后连成一片的利益吧……

你说的对,但是锈湖真好玩。

评论

  1. Alexxu2024
    1 月前
    2025-11-08 17:17:08

    %%%

  2. Alexxu2024
    1 月前
    2025-11-08 17:17:33

    所以S1=到底多少分

  3. Alexxu2024
    1 月前
    2025-11-08 17:19:52

    所以Never gOnna gIve you uP线到底多少分

  4. Alexxu2024
    1 月前
    2025-11-08 17:21:32

    说说你对“我竟是因为我想做我热爱的事而去做我不热爱的事,虽不算讨厌,但社会为何有如此秩序?以我轻浅的学识想来,一定是背后连成一片的利益吧……”这句话的理解(

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇