CSP-S2022 游记
Day 998244350
模拟赛场场被学弟吊打。最后几天写了一堆随机化乱搞题以及奇怪的搜索,都是 CSP 不曾考的玩意(书接下文)。
点分治已经敲烂了。最后两场每场一个。
Day 499122175
学校发通知说 CSP 取消了。全机房都在开香槟(
其实自己想去考考看的,权当是在联赛之前看看自己的实力如何。
Day 998244352
不想敲板子。更不可能学新算法。听 cy 说他在比赛前都是不敲任何板子的,想想感觉自己考纲内也没啥不太熟悉(指敲不出模版题)的算法,决定 CSP 前啥也不写。
反转了,CSP 在天堂打复活赛打赢了肯尼迪和安倍晋三,成功获得了复活的机会。
晚上了解到今年还是 JSOI Linux + Windows 的组合。我的评价是 JS 这种强省难道连几百台跑得动虚拟机的电脑都找不出来吗?
只能祈祷 NOIP 给个好点的代码环境了
Day 998244353 \(\equiv\) 0
CSP 前最后一天。虽然反复横跳但似乎并没有再次取消的迹象。
拿到了赛时同型号的 Thinkpad E490 笔记本,并被告知赛时没有外接键盘。我第一次在现实中亲眼见到 i3 的笔记本!\(32\) 位编译器。
简单敲了个 NTT 以及封装的多项式,感觉键程还不错,回弹力度刚刚好。遗憾的是 fn 和 ctrl 是反过来的,而且按 \(\leftarrow\) 和 \(\rightarrow\) 时很容易按到 pgup 和 pgdn。多项式编译一次需要 \(3\) 秒钟。感觉拿到了上古时期的电脑。
听了 qlz 的建议决定测试一下运行效率。开 O2 跑了 \(10^8\) 次 \(\log_2\) 函数,跑了 \(3\) 秒。同样的代码在我的电脑上只要 \(0.6s\),效率差距一目了然不言而喻。显然我的机子是没有 CCF 的少爷机快的,所以赛时程序的运行时间失去了任何的参考价值(怎么和 JSOI2022 一样?我不好评价)。
中午颓了好一阵子,下午尝试适应一下考试环境,并被强迫使用一段时间的 Dev-cpp。敲了一个 Johnson,一个 Treap 以及点双边双,大致习惯了蹩手的键盘以及极慢的运行速度。
讽刺的是,我在自己电脑上完全模拟了 JSOI Linux + Windows 的比赛环境,并给这个虚拟机取名为 JSOI Windows。实际上,M1 套 Parallels desktop Win10 套 x86 on arm 套 qemu Linux 并没有比原始环境慢多少。
Day 1
上午在家,起来的比较晚。把 CSP-2020 的函数调用和贪吃蛇写了一下,并意识到自己两年前打 CSP 的时候时间分配是有多烂才能做到放着 T4 的 \(70\) 分水的离谱的暴力不打。
中午随便点了点外卖。吃完中饭睡了一会儿,\(1:45\) 才从家出发去往考场,果然到的时候已经开始试机了。不过,无伤大雅。
进了考场一看,难道是方舱医院?简直是人挤人,每个人可用空间的宽度只有 \(\lt 0.8\) 米。怪不得不给外接键盘,原来是放不下 /tuu。赛前 \(10\) 分钟还是按耐不住敲了下板子,不过这省下来的几分钟并未对比赛过程造成什么决定性的影响。
\(2:30\) 拿到题面,看了眼时空限制发现都挺足的,好评!简单扫了下题,一眼秒 T2。T1 没一眼切,感觉会要稍微想想。T3 题面描述很长,以为是大模拟啥的,先跳了。T4 一个树上问题,看起来很可做的样子。
那么就正序开题吧,争取 \(1.5h\) 过 T1 到 T3。前 \(25\) 分钟状态不是很好,口罩戴着有点闷,拿掉了。T1 由于 \(k\) 很小,于是一直在想均摊复杂度之类的做法,没有任何进展。先去把 T2 写掉了,写之前没有仔细列出所有分讨情况,写的时候犯了一堆 sb 错误。一开始甚至以为只要维护一大一小两个 ST 表就可以,后来发现是我 sb 了,明明需要 \(4\) 个。加上浪费在 T1 的时间,写完 T2 大概花了 \(1h\),看来是别想 AK 了。心态有些炸裂,不过没关系,时间才过去 \(\frac{1}{4}\),优势在我。
回过头去看 T1,这才想到可以 meet in the middle。想到个 \(O(\frac{n^3}{\omega})\) 的做法,\(n=2500\) 感觉挺能跑的,没想到怎么继续优化,直接开写了,甚至用到了 bitset::_Find_first
和 bitset::_Find_next
。发现大样例跑的飞快,一看发现 \(n=250\)。什么破玩意。想着比赛机效率没有参考价值,就不造极限数据了,听天由命,反正 CSP(实际上后来把这件事抛到脑后了)。这时大约 \(1.5h\)。
仔细读了一遍 T3,发现就是动态维护是否是基环树森林嘛!\(60\) 分白给。但是正解没啥进展,\(5 \times 10^5\) 的数据范围也不太像根号分治来着。推了 \(30\) 分钟左右没有想法,先跳过去看 T4 了,反正这题暴力也挺好打的。
T4 的 \(k \le 2\) 一眼倍增 + 矩阵维护,草稿纸上画了画 \(k=3\) 的情况发现就是能跳到 \(s\) 到 \(t\) 路径距离为 \(1\) 的点上,这容易处理,甚至树高 \(\log\) 暴力跳还有一车部分分。看来这次 \(300+\) 很 easy 了。然而 \(O(n \log n)\) 带上 \(3 \times 3\) 矩阵的 \(27\) 倍常数感觉蛮离谱的。看了眼链和树高 \(\log\) 的部分分提示,想了 \(eps\) 秒发现可以离线下来点分治,这样就好写多了,常数大概比矩阵小(错误的,我赛时修修补补的程序有 \(50\) 多倍常数)。
剩下 \(2\) 小时,时间充裕,于是开始码码码。决定先把 \(k=2\) 写了再拓展到 \(k=3\),很快过了第三个大样例。自以为写完了 \(k=3\),测了最后一个大样例发现答案比输出小?就离谱。对着代码瞪了一会儿发现是一些 sb 的错误,改完发现输出比答案大!有些怀疑是做法假了,又手玩了几个数据发现少讨论了例如从与路径距离为 \(1\) 的点跳到与路径距离为 \(1\) 的点的 \(eps\) 种情况,并开始在程序上打补丁。离考试结束约 \(40\) 分钟时过了最后一个大样例,直接半场开香槟!
再然后就是 T3。我试图用带 \(\log\) 的数据结构去维护出度的更改,这玩意真的可做吗?我不晓得。最后 \(15\) 分钟不想了,直接不带想的写个 \(50\) 分暴力。检查下文件名啥的,都没问题,就等待游戏结束了。
这么简单的题,JS 肯定一车人 AK 吧!我还是太菜了。/ll
出来以后听说 T3 是哈希,我在 \(eps\) 秒内想到了 T3 的正解。哈哈哈哈
感觉大概 \(100+100+50+100\) 吧,但是所有 OJ 上测的 T3 都是 \(60\) 分。那就当自己是 \(360\) 好了,只要 T1 能放 \(O(\frac{n^3}{\omega})\) 过就行。我是相信 CCF 的(大雾)。
Day \(+\infty\)
T1 T2 T4 都是套路题,唯一一个需要思维含量的就是 T3。然而我就是 T3 没有做出来,导致错失了一次 AK 的好机会。
之前模拟赛也出过 xorhash,jcy 和 jth 都会,我没做出来。这次又碰到了奇怪的 hash,高水平的选手们大都切掉了,我也不会。说明自己的脑洞还是不够大,乱搞的技巧研究的还不够深入。或许应该多请教请教 lxr 学长?(
感觉套路题练够了,之后的训练要着重 CF 类型的思维题。多积累积累奇怪的点子,说不定再碰到脑洞题就能多一条路走。
有趣的是,倘若弹出队尾的条件是 \(\le\) 的话,那我就被单调队列了。
不过没有关系,心态放好一些。今年的我相比去年水平有了非常大的提升,也有了足够的实力打好接下来的联赛。校内对 CF 类型题目也重视起来了,一切都在朝着好的方向发展。
NOIP2022 RP++
CSP-S2022 游记的更多相关文章
- CSP 2019 游记
Day -32 开坑. 没什么好说的,等个 5 天等初赛(应该叫第一轮认证)挂掉之后就能弃坑了. 今天开始停课,虽然每天只停半天,但是感觉还是特别的舒服~ 然而得等初赛过了才能全天停课-- 没关系,熬 ...
- CSP 2019游记 & 退役记
扶苏让我记录他AK CSP 的事实 ZAY NB!!! "你不配" 两年半的旅行结束了,我背着满满的行囊下了车,望着毫不犹豫远去的列车,我笑着哭了,笑着翻着我的行囊-- 游记 Da ...
- 第十八次CSP认证游记 | 2019.12.15
CSP认证的考试是Haogod介绍的,取得一定成绩之后能有机会参加CCSP的分赛区和全国决赛.这次来参加认证要感谢老师的奔走为我们申请学校的报销,虽然最终因为这不是比赛所以报名费和差旅费下不来,但是老 ...
- 2020 CSP&NOIP 游记
CSP初赛 CSP初赛 Day -1 早上打了模拟赛,T2寒假正好做过,然而还是还是被踩Orz,郑外NB!.中午出校吃了大盘鸡和拉面,还带回来了三瓶可乐. 初赛知识点看了两页不(看)想(不)看(懂)了 ...
- 2019年十一月(CSP S游记及AFO)
DAY-4 晚自习和班里以及搞OI的两个dalao商量了下决定停课了,当时觉得停得好晚,有的dalao都停一个月了.(现在感觉是明智的选择,我OI辣么菜还不如专注文化课) 晚上回家洗了个澡. DAY- ...
- CSP 2021 游记
\(\text{Day -INF}\) 看见了 \(\text{SCP2021}\) 的报名通知,想着应该教练会让我们统一报名,就没放在心上 然后-- 然后过了二十多天教练根本没有提报名的事情,搞得我 ...
- CSP2019 游记
\(\text{CSP 2019}\) 游记 \[\text{草}\] \[\text{By:Luckyblock}\] \[Day\ -1:\] \(19:00\) 送行饭, 被摁在墙角干了 因为偏 ...
- 2019CSP-S游记(真)
本来是考完了的,但是由于江西省的负责人员的不小心(?),江西oier的大部分代码都被删掉了, 所以我们需要重考,想看我之前CSP的游记可以看这个点我.下面是我江西重考的游记: Day0 又集训了一个星 ...
- CSP2019 滚粗记
目录 CSP 2019 游记 DAY 0 DAY 1 DAY 2 CSP总结 自测之后 CSP 2019 游记 坐标:GD,GZ 人物:hyf 组别:J和S 任务:划水 目标:划水 任务奖励:退役证书 ...
- 【CSP游记S】
简略:初三小蒟蒻本想体验一下提高,结果尝到了省选的滋味.fclose没有打,目前不知道会不会有影响,很伤心. day 1 大早上的6:30起床天好黑啊~,想起这次没有面包吃,到华生园买了包熊博士(毕竟 ...
随机推荐
- RNN自学理解(一)
RNN对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,利用了RNN的这种能力,使深度学习模型在解决语音识别.语言模型.机器翻译以及时序分析等NLP领域的问题时有所突破. 参考文献1 ...
- 右击存放项目的文件夹出现 open with Visual Studio Code 的打开方式
最终效果 步骤1: 找到 Visual Studio Code 的安装位置 (右击桌面Visual Studio Code 图标-->属性-->打开文件夹所在位置) 新建一个可以编辑的 c ...
- ExceptionHandler配合RestControllerAdvice全局处理异常
Java全局处理异常 引言 对于controller中的代码,为了保证其稳定性,我们总会对每一个controller中的代码进行try-catch,但是由于接口太多,try-catch会显得太冗杂,s ...
- Python与Windows桌面
Python更换windows桌面 目录 Python更换windows桌面 前言 准备工作 代码 效果展示 Tips-如何更有仪式感 前言 每天下班,有时候会留下一些事情需要明天更进 为了防止忘记, ...
- 非Navicat破解延长14天试用时间
延长Navicat使用时长 Navicat作为一套多连接数据库开发工具,十分好用,购买正版太过昂贵,破解版过于麻烦,有时候还会有安全问题,好在我们有14天的试用时间,我们可以从这个方面入手 对于有能力 ...
- 分支结构中的if-else(条件判断结构)
一.三种结构 第一种: if(条件表达式){ 执行表达式}第二种:二选一 if(条件表达式){ 执行表达式1}else{ 执行表达式2}第三种:n选一 if(条件表达式){ 执行表达式1}else i ...
- Hudi 数据湖的插入,更新,查询,分析操作示例
Hudi 数据湖的插入,更新,查询,分析操作示例 作者:Grey 原文地址: 博客园:Hudi 数据湖的插入,更新,查询,分析操作示例 CSDN:Hudi 数据湖的插入,更新,查询,分析操作示例 前置 ...
- 基于SqlSugar的开发框架循序渐进介绍(17)-- 基于CSRedis实现缓存的处理
在一个应用系统的开发框架中,往往很多地方需要用到缓存的处理,有些地方是为了便于记录用户的数据,有些地方是为了提高系统的响应速度,如有时候我们在发送一个短信验证码的时候,可以在缓存中设置几分钟的过期时间 ...
- VS使用正则表达式删除程序中的空行
Ctrl+H; 需要替换的正则表达式 ^(?([^\r\n])\s)*\r?$\r?\n
- 一个实用的 vite + vue3 组件库脚手架工具,提升开发效率
无论是 vue2 全家桶还是 vue3 + vite + TypeScript,组件库的使用几乎大家都会,但自己开发一个独立组件库就不是每个人都掌握的,因为搭建组件库的基础开发环境,就会让很多同学望而 ...