2024 CSP-J/S 复赛 游记

· · 生活·游记

前置信息:

上海地区,考场在 CY 二中;

本人初三,去年 CSP-J 150pts,S 没进复赛;

今年初赛 CSP-J 100pts,S 65.5pts。

Day -5~-2,周一至周四

集中复习 区间 dp,过了2黄4绿1蓝(我是蒟蒻)。

Day -1,周五

考前一天,重温了求逆元的公式,又学了 Dijkstra 算法(然而并不是很熟练);

晚上启程去宾馆(天气预报会下大雨,且离考点太远);

看了《防爆零手册》(勰码可达鸭),感觉还挺有用;

B站搜了下Linux操作方法的视频(然而比赛基本没碰Linux)。

Day 1,周六

CSP-J

提前 15 分钟到了考场,cbz、dyf 和我在同一考场。

T1,水题,写了个 map 映射 秒了;

T2,水题,简单小模拟,我都 AC 了猪国杀,还怕这个?秒了;

T3,水题,半面草稿纸推出贪心算法规律,秒了;用了 system("fc file1 file2") 和对拍大法保证代码正确(这一题连个大样例都没有。。。)

T4,一眼看上去不太会,写了个拙劣的 bfs 骗走 15pts。

估分:100+100+100+15=315pts

预计奖项:一等

消耗的食物:冰红茶x1,润喉糖x10

cbz 估分:100+100+30+100=330pts

(他T3用的是 dp,还是整数类型,发现时已经来不及了)

CSP-S

wyx(高一)、dyf 和我在同一考场。

T1,水题,秒了 当 n=1 时,怪兽选择攻击 CCF);

T2,模拟题,算是比较搞的,只想到 O(nm) 做法;

(第一问优化做法想到了,但是第二问贪心没想到 O(nlogn) 正解,写了个 O(nm) 抽象做法)

期望:拿 60pts

第一问:既然只想到 O(nm) 做法,那第一问也别二分了,暴力大法保险一点;

第二问:通过两页草稿纸推出了一个非常抽象的做法,经证明没有任何问题:

1.将检测出超速的点位列成表,像这样:

01111
00110
01100
01000
00000
00011

2.按左端点排序,并筛掉没有超速的车: (我要是按右端点排序就直接A了,可惜没想到)

01000
01100
01111
00110
00011

3.如果两个区间带有包含关系,删去较大的区间;

01000
00110
00011

证明:如果小区间中保留一个测速仪,则包含了小区间的大区间也必保留了一个测速仪,可以放心删掉;

4.最抽象的来了,将图像顺时针旋转90度,并删去空行;

001
010
110
100

然后转化成了线段覆盖问题,这下会用贪心算法了。

前面删去带包含关系的区间就是为了让线段中间不会断开,可以正常进行贪心!!!

当时觉得自己是个天才,然后觉得一等稳了

然而正解就是二分求区间后直接按右端点排序,尽量往最右边取即可 原来我是个joker。

不过前面二分的步骤比较繁琐,有 6 种情况,赛时不一定能想出来。

这题能想出 60pts 做法也是赚了吧。

T3,二进制枚举骗走 20pts;

T4,当T2写完时还剩 1h,结果硬是没调出来部分分,亏了 8pts;

估分:100+60+20+0=180pts

预计奖项:一等/二等

消耗的食物:冰红茶x1,润喉糖x8,费列罗x2

cbz 估分:100+100+50+0=250pts,不愧是被 marong 认可的大佬

Day 2,周日

把S组T2正解写出来了,写了足足 3 个小时,过了洛谷民间数据(看来T2拿 60pts 是真的不亏了)。

这也说明了 cbz 能够在赛时写出T2的厉害之处。

(下次问问 wyx 考得咋样)

总结

这次总体发挥得不错,还是比较满意的,希望 CSP-S 能冲上一等吧。