CSP-J/S2025游记

· · 生活·游记

省流1:

J1 91.5
S1 62

省流2:

J2 100+55+15+36=206
S2 50+0+0+8=58

要是我复赛s组有2=我就给ccf充会员

初赛

Day x

做了一套luogu scp-s2025的模拟题。第一次看到这么长的程序,就一通乱做了。结果成绩一出。我草,31分???甚至不如我去年投橡皮的36分。我暑假好歹也是刷了n套真题的,结果成绩都没我鞋码多。还有20天就要初赛了,哦不。

Day 5

开学限时炸了好多,全献祭到初赛了。初赛考点在首师大附,还行,但是路程30min。

Day 1

请了半天假回家复习,从中午复习到晚上,把s组复赛都过了一遍(还复习了一点j)吃了很多坚果(补脑子)然后就睡觉了。

Day 0

CSPJ1

早上提前20分钟就到了,竟然不让带指针手表进去,比学校期末考还严。只能看后面的钟了(但是ccf不怕偷窥后面入答案吗)。提前5分钟发卷,大致从头看到尾后,草,咋这么难。打铃后依旧正序开题,玛德选择题出的怎么又偏又难,好在知识储备还算够,但是40min才做完。赶紧开阅读程序,光速秒完前2个发现第三题没啥思路,此时只剩下1h。第一个完型读到

isdigit(s[i])

给我看懵了,忘记啥是isdigit了,所以先开最后一题。草,竟然是逻辑推理。于是又回去看第三题,验算到最后一题不太会做,看了眼黑板发现33题没了。于是赶紧去研究isdigit,看了眼选项发现原来是数字的意思,然后就把第一题秒了。最后第二题只能凭感觉蒙了,检查了一遍后就收卷了。中午回家吃饭,吃完睡不着,敲了会木鱼继续上考场。

回家时J组估分时发现第一题和第五题错了,我是rz。但是估分26+40+27=93,好耶,貌似有些人说今年j有点难。

CSPS1

开题。第一题超级无敌简单排列组合,感觉良好。但是后面为什么我连看都看不懂???复习了半天的知识发现全用不上。选择题做一道蒙一道,感觉要炸,做完开阅读。第一题dfs,感觉手玩样例就能满,但是有点状态不佳所以先开后两题,感觉依旧读不懂

You have no egg!

大致读一遍凭感觉和技巧蒙完就去开完型了。好吧依旧看不懂,继续蒙。此时还剩30min,但是因为上午考了一场加上中午没睡觉,此时考场内有些人也选择了睡觉。心里逐渐浮现出放弃的想法。我应该放弃吗?我为了这场考试付出了这么多,为什么要放弃?于是我开始手算第一题,最后2min时终于算出来了。交卷后觉得自己尽力了。出考场发现阅读凭借技巧和运气对了好多。

S组估分16+25+21=62(选择题做模拟题的时候基本都能做24分左右,这次发挥有点差)

出分前夕

焦虑了一周,大多数人都觉得s有点简单。一直在想是否会填错答题卡?s组会不会过不了?

出分

j91.5 s62 那很好了。(开始焦虑s组分数线)

出全国分数线

全国晋级线j75 s62.5。草,咋比我高0.5,北京不会卡全国线吧(依旧焦虑)

出分数线

666这么低,白焦虑了。开始准备复赛,11月rdfz见//

复赛

Day 30

国庆假期,集训打了5场j组模拟赛,场均300+/500,感觉还行。看到了自己的弱点:bfs、差分、双指针。

期中前的几次限时考/大作业

总之就是很差了。注意到复赛的下一周就是期中。

Day 1

时间都去哪了?最后一天抓紧复习了各种模版,学习了差分。

Day 0

CSPJ2

早上起的很早,在人大附中门口与zym、gsz集合。发现没带笔找zym借了一支,zym在逸夫楼gsz在高中楼我在icc楼//

开题:第一题显然送分,存数组+sort排序,时间复杂度 O(n \log n) 。第二题显然也送分。5min写完。但是此时我并没有注意到t2所有样例都是n = m。故埋下伏笔。t3显然没有思路,一开始想到前缀和但是显然没有关系。故打完特殊分就跑路了(再次埋下伏笔),此时距离考试结束还有2h。t4一眼像不可做题,打了特殊样例与 \max a_i = 1 的部分分。此时对于\max a_i = 1,显然注意到跟排列组合有关,发现

c_{n,n} + c_{n,n-1}+...+c_{n,1} = 2^n - 1

所以推出dp式子

f[i] = (f[i - 1] + (qpow(2ll, 1ll * (i - 1), mod) + mod - i) % mod) % mod;

就在最后5min时,我突然注意到 nm 应调换顺序,此时我只需要一个

swap(n,m)

就能将大局逆转。可惜我并没有想到,而是去改dfs函数并且还改错了,手脚冰冷地交了代码。

预期得分 100+0+30+32=162,下午的s能助我破鼎吗?

回家吃完饭睡不着,感觉1年的努力似乎白费了。

CSP-S2

还能争吗? 中午没睡觉出发s组考场,在逸夫楼。考前提早半小时到了,打了点板子就在逸夫楼7层踱步。站在落地窗前看着rdfz的景色。j组已经把1年的努力白费了,s组真的还能争吗。

开题:bur,第一题怎么看上去像dp,我记得s组第一题不都是橙题/签到题吗?不管了,能拿一点分是一点分,故开始对特殊样例思考。经过手玩样例发现特殊样例ab显然是差分+贪心。于是快速写完了a+b的20pts。特殊样例c没看懂,开始写暴力。最后发现枚举全部可能的暴力,故写了一个 O(3^n) 的暴力,然后此时认为正解是dp,但是转移方程什么都推不出来。最后写了个不到200行的2次差分跑路了。但是奇妙的事就是虽然说我甚至不知道特殊样例c的随机生成是何意味,但是特殊样例c的大样例我过了。最终以普通大样例没过结尾而跑路。此时已经过去了2h。开始看t2,显然不会。在 k=0 的测试点进行了bfs和dfs的抉择,最后还是写了个离谱至极的dfs,又耗费40min。就剩1h了看t3。t3貌似是著名的串串,输出0直接跑路,不浪费时间。开始看t4。感觉是排列组合题,但是没思路,开始写全排列暴力,sum 维护不可做题的个数。发现有点写假了,有点急。距离结束仅剩30min,去了趟厕所,回来注意到是拒绝或放弃参加面试,于是加了一个add变量去维护在方案中放弃的人数。时间复杂度 O(n! * n),预计能得8pts。交完代码,感觉自己有点完了。觉得t1不是签到题。

预期得分[40,50]+0+[0,8]+8=[48,66] pts,心里没底。

赛后得知都挺难的,给了一点心里安慰。

出分

j 100+55+15+36=206 t2写炸了都有55也是可以了。t3莫名其妙挂了,发现是双指针写错了。

s 50+0+0+8 特殊样例c用我的差分刚好过了,t3输出0竟然没分。希望有2=。

总结

这次j组几乎白费了1年的努力,s组也因为没有好好练习导致没有做出t1,下次应当细心审题了。