『游记』CSP 2024

(听说点这个可以查到分)

初赛篇

Day [-7,-1]

想起来了之前没时间做的 SCP,于是都刷掉了,先是 S 给自己干崩了,于是 Day -1 时拿了 J 做,顿时感觉自己又行了。

去年我可是都压着线过的。所以还是有点紧张的。

Day 1

起床后直接给我干拉肚子了(悲)(虽然不知道为什么),耽误了 \(20\min\)。随后发现由于这两天运动有点激烈了,全身都有说不出的“酸爽”。

出门刚好碰到下雨(悲)。于是错过了拍照,鞋子湿了一上午。

还好考场不是很远,几站地铁就到了。手头上也没什么特殊的资料,于是把 lyd 蓝书带着复习了一下数学部分的东西。

上午 \(J\)

这把也是坐上王的故乡了。

第一感觉是 xxs 怎么这么多()甚至刚上小学的都看到了好几个。\(50\) 块钱考一场诶!他们没有那么大必要考吧?

(主要是考到一半老是听到各种各样奇奇怪怪的杂音,所以比较反感)

开考,坐在教室左后方的确挺舒服。拿到卷子,第一页迅速秒掉,高兴了。第二页格雷码迅速卡住,悲伤了。

看到 \([0,8]\) 第一反应就是它是不是出锅了,首先排除含 \(8\)\(A\) 选项,然后踌躇了 \(20s\),选了个 \(B\)

做完单项选择,除了格雷码,自我感觉良好。(后来发现第 \(5\) 题把 bit 看成 byte 了,痛失 \(2pts\)

阅读程序 \(1\) 一眼秒了,到了 \(2\) 就出锅了。

我一直习惯所有数组都用 \([1,n]\),但是这个东西他 \(cost[0,n),dp[1,n]\)。于是不知怎的前两道判断就挂没了。做到单选题才发现似乎看错了,回去判断又推了一遍,但还是挂了。我甚至不知道。

后面就是边感叹题怎么这么简单边做完了。简单得我有些不安。

听到了逆天的 \(4\) 处勘误后,回去重新看了一下格雷码,二进制都转了十进制,然后根据一些选择题心理学经验,改了个 \(D\)。有幸蒙对。

出考场,光速找到沃若大佬的答案对了一下,\(95pts\),其中 \(5\) 和第 \(2\) 篇阅读程序的前两道判断挂掉了。这个应该可以过了吧。于是对下午的 \(S\) 充满信心。

中场

到隔壁饭店吃了点饭,又找 159 大佬的初赛知识点总结复习了一下。

\(1h\) 左右后,去了星巴克。但是万万没想到,隔壁坐着同年级政治老师。他也许可能大概是带着旁边的同校服的儿子(?)来考 csp 罢?幸好他不认识我(喜)。

小睡了一会,开考前 \(0.5h\) 出发去买了杯瑞幸,带去考场。

下午 \(S\)

问了一下才知道原来我的手表能带进去(吃了一上午看不了时间的亏)

还是同一个教室考,但是座位在中场前排。这个桌子真蚌埠住了,左边低右边高,还不是 \(1cm\) 那样的,目测差 \(2\sim3cm\)。监考员没办法。

\(10\min\) 写掉单项选择,出来后对滴叉答案错一道。然后阅读程序直接给我心态整崩了。第一道就花了 \(20\sim30min\),但还好会做。此时已经有点急了。

然后顺着做,第二道能看个大概,但是理解不了一点,判断还行,靠直觉能写写,但单选就蚌埠住了。第一道靠仅有的一点理解蒙对了,后两道不会了。

于是开第三道。虽然通过单选题知道了它似乎在搞什么二叉树,闻到了哈希的味道,但还是仅一道判断正确。同样没写完不会了就去完善程序了。

二分?这个我还算熟。\(10\min\) 左右写掉,但可能受了 [不太相信一道题能全选同一个选项] 的影响,挂了两道。

坏了,是次短路。最短路我熟,图论水题我还是写了不少的。次短路真没了解过。靠感觉硬上。侥幸过三道。

出考场,又要拍照。于是慌乱中草草找了份看着可能靠谱的答案对了一下,也没算清楚,大概 \(56\)。当时心里很慌,这个要是没过我就可以入土了。

拍完照立刻到处找答案。于是找到了滴叉的。虽然对的流畅程度远不如上午,但是分数似乎没那么低。估分 \(62.5\)

估分

J: \(95pts\).

S: \(62.5pts\).

Day 1.evening

星铁启动!

捡起几周没打的差分宇宙一遍过了 \(\text{V5}\)\(\text{V6}\)

星铁文案还是好好 van!

复赛篇

Day -114514

诶嘿初赛出分了,和估的一模一样。但是我怕上午考 \(j\) 了下午 \(s\) 要挂,于是只报了 \(s\) 的复赛。

Day -2 周四

今天校运会。

开幕式基本上没看,到我们了当个背景板就下场了。排队的时候全班都在玩大冒险()我输了有几次他们几个叫我问隔壁栏杆外的幼儿园老师能不能入学,学费多少 /dk/dk。有个老师还回头过来笑眯眯地看了我几眼......

拿着 lyd 蓝书一本去观众席后排坐牢了。但是似乎拿了和没拿一样的。上午太阳直射,不让带太阳伞,于是看起来非常吃力。下午面前一群人在打牌()

晚上并没有太多精力抱佛脚。于是浅打了一下星铁不可知域。

Day -1 周五

今天秋游。

这个学校终于是良心了一次,咱去长隆!👍

这次的车感觉出奇地快,没一会就到了。导游还是很贴心的,甚至让两个同学分别唱了三人游和富士山下。这次带了副牌,后排直接开两桌(。

第一次来长隆。没有任何多余的思考,上了“十环过山车”。这个也是第一次,差点死亡,但是又发现好像挺好玩的。然后又是不带思考地第一次去了“自由落体”和“大摆锤”。哇大摆锤的时候班主任在隔壁((差点直接贴脸开大了......

中午干吃一包不知道怎么带进来的白象,浅外放了几首周董/ljj,靠着充电宝活了,但是吃东西的时候完全没有意识到有几个人跑路去二刷垂直过山车了(这个我真不敢上)。于是靠着世界之外的力量找到了某个同样晕掉的同学。随便逛逛,看到了一个看起来比较休闲的,场地挺小的,看起来似乎转的比较慢的项目,于是又上了。但是坐了几秒后就发现不对劲了:它既有公转也有自转。下来之后直接对这些东西产生心理阴影了......

大中午乱转了 1h,路过某“鬼屋”发现同班十几来号人在排队,于是进去又开了桌牌打()三桌牌排在最前面什么含金量!没玩过类似的,这个鬼屋纯剧情吧?(虽然没看懂)类似一个影院。基本上咱们全程都坐在第一排。这个椅子又喷水又乱晃又抠腿的,上面愣大的五毛钱特效,我不是很理解有什么可怕的()但是烟雾和别的特效什么的搞得还行吧。然后又二十号人一起去了另一个叫什么什么丛林的“鬼屋”,但是要分组进去。有幸第一组,但是另外五个人都是别的班的,不认识,他们几个还一直冲在前面阴阳怪气的,又挡路又乱怪叫的......还有个肥仔他宝贝了个腿的把我往一个 npc 脸上推,差点扑他怀里了()

然后只剩最后 30min 了。大部分人准备再刷一遍垂直过山车就走人了,我们这些不敢上的于是一起去了大摆锤。但是还没进去就看到那群玩垂直的不知道怎么的就过来了。非常幸运的,刚好我们班的全都在同一次玩。于是一个锤子上面有一半是我们班的。这次就没上次那么慌了,反而挺享受。

(似乎有点详略不当了哈)

Day 0.5 周六上午

没有 \(j\) 组需要操心,于是可以安心抱一上午佛脚了。先是各种 \(\log\) 数据结构,倍增之类的看了看,然后完全投入到图论数论了。最短路,最小生成树,二分图,tarjan,拓扑,差分约束全都速刷了一遍。其中差分约束还看到了 P1250!我甚至还把贪心做法和差分约束做法都过了一遍......

Day 1 周六下午

直面雷霆啦!

仍然是六中。但是为什么我在这个低配电脑室啊!一张桌子连草稿纸和键盘一起放都放不下,还只有个小软凳......看看隔壁,一张桌子辣么大,还有超大的,带靠背带扶手,全软垫的椅子......我 rp 很差吗(

一杯瑞幸,一瓶东鹏,一瓶矿泉水三开。不让带纸巾什么鬼。

题目直达车

去年 \(j\)\(s\) 全部卡着一等线拿了二等。今年再二等可以入土了。

开题。首先是缺省源,包括快读快写。以为 T1 不会很简单,于是考虑了 10min 才敢下手写。我的做法是先升序排序然后用大的打小的,用一个指针指着小的已经死到第几个了。大样例全过。

然后浅看了后三题题意。看得出来 T3 是个 dp,T4 不知道什么鬼东西,T2也许好写一点,那就先搞搞 T2 吧。

分析样例,结合题目容易想到每辆车速度要么不变,要么单调递增或递减。于是如果有测速点能够检测出来它超速,那么这些测速点一定是连续的。可以想到先找到每辆车可以被测出来的测速点区间,然后可以得到 [超速的车的数量即第一问答案] 个约束条件:\([l,r]\) 至少有 \(1\) 个测速仪。第一反应 P1250 种树 差分约束。后来写挂了想到贪心。

整个 T2 程序分为两个部分:

  1. 各种二分求出每辆车超速被测出来的测速点区间,获得约束条件。
  2. 差分约束/贪心求满足约束条件的最优解。

对于第一步,对于每辆车,首先排除掉没有超速的。那么对于有超速的,设约束区间为 \([L,R]\),可以先 STL 二分得到该车最先遇到的测速点作为 \(L\),第 \(m\) 个测速点作为 \(R\),然后对于加速度 \(a_i\) 分类讨论:

  1. \(a_i=0\):速度无变化,既然它会超速,那么遇到的所有测速点都会判它超速,于是 \([L,R]\) 无需更改。
  2. \(a_i>0\):速度单调上升。若超速,则仅有 \(L\) 可能变大,\(R\) 不可能变小。那么可以以当前的 \([L,R]\) 区间开始二分,得到第一个超速的测速点,将 \(L\) 更新为它,则现在的 \([L,R]\) 即为当前车辆约束区间。
  3. \(a_i<0\):速度单调下降。同理,得到最后一个超速的测速点更新 \(R\)

之后的两种方法:

  1. 差分约束(我挂了,所以这个做法可能假了,但是听到挺多人写对的)。设 \(s_i\) 为第 \(1\)\(i\) 个测速点中至少有多少个测速点。对于每个 \([L,R]\) 可得 \(s_R-s_{L-1} \ge 1\)。又得 \(0 \le s_i-s_{i-1} \le 1\)
  2. 贪心(过了大样例):将每个 \([L,R]\)\(R\) 为第一关键字,\(L\) 为第二关键字升序排序,尽量选右端点。用一个 \(lst\) 记录上一个确定要打开的测速点编号,对于每个 \([L,R]\),若 \(lst<L\),则需开一个新的测速点,贪心可得应该开 \(R\),于是更新 \(lst\)\(R\)。记录打开的测速点即 \(lst\) 更新次数 \(cnt\),答案即为 \(m-cnt\)

本蒟蒻经 T2 各种精度、二分问题以及假掉的差分约束消耗,调完前两题只剩不到 \(1h\) 了。

T4 看上去也不是我能做的。dp 不怎么样的我只好好好干 T3。

这个 T3 给我想出来很多奇怪的东西,例如二分图匹配,建树乱搞,线段树等等等等,但都想不到正解。于是想 dp。正解大概是不行了,暴力 dp 试试?挂了。有点慌。

想到去年 1= 分数线也才 \(155\),期望得分 \(200\) 应该差不多了,稍微放松了一点。静下心继续想,但还是挂。

我还是太菜了啊啊。

总结

行吧。至少比去年进步不少。\(200\) 坐标 GD 应该能拿个 \(\text{1=}\ +\ \sqrt{6}\) 了吧!

T2 时间花太多了,写的题还是不够多,二分能调 \(0.5h\) 已经死了。总体规划不是很好吧。前两题应该在 \(2h\) 内搞定的。代码能力有待加强,dp 应该多花点时间。明年加油!明年要是这个难度我不拿 \(300\) 可以退役了。

\(\text{CSP 2024 RP += +}\infty\)

11.4 Update

出分了出分了!

100+90+0+0=190。T2 特殊性质卡掉了 10 pts。

我应该写一个 T3 暴力的。

11.29 Update

一等,6 级勾!

但是 T2 并不是特殊性质卡的。原因如下:

inline void write(int x){
	if(x<0) putchar('-'),x=~(x-1);
	char s[20]; int tp=0;
	while(x) s[++tp]=x%10,x/=10;
//	if(!top) s[++top]=0; // 少了这个 于是当x=0无输出...
	while(tp) putchar(s[tp--]+'0');
	putchar(' ');
}

警钟撅烂。

posted @ 2024-09-23 23:09  仙山有茗  阅读(14)  评论(2编辑  收藏  举报