CSP-J/S 2020 复赛游记

苹果蓝17

2020-11-08 00:09:15

Personal

[更好的阅读体验](https://www.cnblogs.com/Appleblue17/p/14159746.html) ## CSP-J/S 复赛游记 ### CSP-J/S 2020 RP++ ## Day -4 / -3 / -2 这周每天中午都在机房打题,就没回过宿舍 不睡午觉有点疲倦,不过也没办法 主要是改之前的**一大堆**的模拟题 还有几个大佬中午也一起在机房 ## Day -1 呀,时间变紧了 赶紧打板子 线段树,树状数组,`ST`表…… `BFS`,`Dijkstra` , `Tarjan` ,树上差分…… ~~结果一个都没考到~~ ## Day 0 毕竟是第一次参加提高组~~第二次普及了~~,还是很紧张的,毕竟初中参加不了`noip` 然而还是要上数学课 然而学校还是考场 所以机房用不了了?! 啊这 于是一大群人到处找电脑,跑到老师办公室去,跑到艺术楼的机房(为什么会有这个)去,甚至跑到化学老师那里去借 最后居然在宿舍向宿管借到了。。。 服了 晚上也没啥心情写作业,随便聊聊睡了 *** ## Day 1 ### CSP-J 2020 `6:30` 起床,发现起太早了,别人都没起来 ~~继续睡~~起来等到 `7:00` 吃饭,又等到 `8:00` 才去考场 到考场一看,依旧没有隔板 ~~毕竟机房确实没有~~ 我左右两位这次看起来专业一点了,起码没有玩 `Scratch` ( 终于看到一次有意思的密码了 ### 他山之石 *** ### T1 哇,这么水,跟去年差不多 时间复杂度:`O(logn)` 用时:`10 mins` 期望得分:`100 pts` 民间数据自测得分:`100 pts` 实际得分:`100 pts` ### T2 第一眼:插入元素,查第 k 大,平衡树请 第二眼:平衡树不是可以拿值域线段树代替的嘛 (开始打) (突然停下,看了眼题面) 第三眼:啥呀值域才 [0,600] ,桶装不就完事了吗?! ~~(不过洛谷评测机好像有点歧视我的代码,卡了30多次才过)~~ 时间复杂度:`O(600n)` 用时:`15 mins` 期望得分:`100 pts` 民间数据自测得分:`100 pts` 实际得分:`100 pts` ### T3 好家伙阅读题终于来了 ~~还一堆废话~~ 啊这,后缀怎么处理啊 ~~平时模拟赛都是思维题都不会这些数据结构了(~~ 好吧首先要建棵树 树上先把原来的值算出来 然后在自上而下 dp 一下,没啦? 不过讲真真不好打,就先去看 T4 了 …… 看了一眼打了个暴力又回来了 挺长的,`2k` 代码 这时候快没时间了,我随便出了一个 `5w` 大数据 #### RE了??? 害怕 可能是爆栈吧?我如此安慰自己 后来一想,之前写树哪一次爆过栈啊。。。 不理了,恐怕会挂成 `20 pts` 晚上一测,发现满了 (两天后) 我听说 `gets()` 不能用啊啊啊啊啊 (一周后) ### `gets()` 居然还是有分 ### 不过这东西太容易出锅了能不用就不要用吧 时间复杂度:$O(n)$ 用时:`90 mins` 期望得分:`20-70 pts` 民间数据自测得分:`100 pts` 实际得分:`100 pts` ### T4 第一眼:`BFS` ( T4 还能考 `BFS` ?) 第二眼:网络流 (看了眼数据范围,8行) 第三眼:$O(n^3)$ dp (看了眼数据范围,`70 pts`???) 然后我就先打了个暴力,又回去 `T3` 了 后来再想了想,把前和后更新的分开,然后拿后缀最大值搞成了 $O(n^2)$ 然后最富戏剧性的事情来了 #### 我直接把暴力交了上去 …… 时间复杂度:$O(n^3)$ ($O(n^2)$) 用时:`80 mins` 期望得分:`100 pts` 民间数据自测得分:`70 pts` 实际得分:`70 pts` *** 期望得分:`320-370 pts` 民间数据自测得分:`370 pts` 实际得分:`100+100+100+70=370 pts` 还是挺稳的 所以大家千万注意**不要交错文件**啊啊啊啊啊啊 后记:晚上测了测隔壁桌的,前桌 `170 pts` ,后桌 `230 pts` 针不戳 ### CSP-S 2020 中午回去睡觉,不在话下 这次大家还是蛮重视的 下午一进考场,不说别的,平均高度就相差很多(关注这个干嘛 ### 可以攻玉 (话说开考时这密码还挺难辨认的折腾了几分钟) *** #### T1 哇,一页题面 哇,阅读理解 哇,烦人模拟 开 $ \ $ 门 $ \ $ 红 ~~全机房都在做阅读题的感觉你体验过吗~~ 不说别的,这题面我硬是读了十分钟 大概从`1582`年开始分类 然后一年一年枚举,不然太烦了 然后打着打着我才发现 公元前`1,5,9,...` 年是闰年 这题太繁琐了我也不讲这么多了 大概 `40 mins` 才调出来 然后发现`T`飞啦 好像是年跳得太多了,模个`400`就行了 (但是好像被老爷机卡了……) ### 然后没开 long long ### 100->90 时间复杂度:$O(T(n/400+k))$ 用时:`45 mins` 期望得分:`100 pts` 民间数据自测得分:`90 pts` 实际得分:`90 pts` ### T2 第一眼:又是阅读……不会很难吧 第二眼:这……模拟? 第三眼:不会真的是模拟吧。。。 ~~好像有点水~~(后记:烂了) 拿个`map`记录买的饲料,再枚举哪些位可以买即可 ### 但是你知道吗,map 存 1e6 会炸 ### 90->60 时间复杂度:$O(nlogn)$ 用时:`20 mins` 期望得分:`100 pts` 民间数据自测得分:`60 pts` 实际得分:`60 pts` ### T4 感觉进入正片了 哇哦,蛇会思考了( 一只蛇要是不想玩了,立马就结束了 所以一定是最强的蛇不停地吃,只到有一只不想吃了 不想吃了,肯定是因为它能预测未来,再吃就会被别人吃掉 然而有可能它本来能被别人吃掉的,但在那之前游戏已经结束了 所以我们可以把整个过程弄出来,记录每一次的最大最小值 如果有一只蛇这一轮被吃掉了,而它之前有一次吃了别人,它就会反悔 好的那么这样就没问题了 但是当时我太傻了又没想清楚,结果做法假了 但奇怪的是洛谷数据只挂了一个点(听天由命) 时间复杂度:$O(n^2)$ 用时:`60 mins` 期望得分:`55 pts` 民间数据自测得分:`50 pts` 实际得分:`40 pts` ~~(数据也太水了)~~ ### T3 数据结构题? 乱想了想,好像可以拿拓扑排序+线段树合并做(当然正解不是这个) 但线段树合并……不太好打 于是先随便打了一个 `20 pts` 的暴力 这个区间乘也太耗时间了,线段树? 整体区间乘耶,就不麻烦线段树了 弄一个 `laz` ,到时候所有数都乘上 `laz` 不就行了吗? 那加 `k` 的话就变成加 `k/laz` 了 ### 然而我忘记特判0了 ### 75->50 (这数据真的不是随机出来的吗) 距离结束还有一个小时,开始搞线段树合并 然后……自然也没调出来 代码都 `3k` 了 时间复杂度:$O(?)$ 用时:`30 mins` 期望得分:`30 pts` 民间数据自测得分:`25 pts`(乘0的逆元) 实际得分:`50 pts` ~~(这真的太水了吧)~~ *** 挂得好多啊…… 太菜了 期望得分:`305 pts` 民间数据自测得分:`205-225 pts` (差得有点多啊) > 洛谷 90+60+25+50=225 > Outiku 90+60+75+50=275 > 牛客 90+60+80+25=255 实际得分:`90+60+50+40=240 pts` 其实还行? 真心希望能拿个一等奖,也不枉两年的 `OI` 生涯与努力 希望能~~卡线~~过 ~~(希望渺茫)~~ *** ## 希望能捞个双一!