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起床天好黑啊~,想起这次没有面包吃,到华生园买了包熊博士(毕竟 ...
随机推荐
- 关于Vue多线程的思考
在前端调用的时候,我们难免需要同一时刻向后端请求多组数据或是总是期待着是否存在一个独立的线程去处理一系列的数据.线程相应,资源的抢占这是前端较为麻烦的点.这里就来聊聊我在前端踩的坑. 首先是线程问题说 ...
- SpringBoot框架SpEL表达式注入漏洞复现与原理分析
前言 这是2016年的一个洞,利用条件是至少知道一个触发 springboot 默认错误页面的接口及参数名. 影响版本:1.1.0-1.1.12 1.2.0-1.2.7 1.3.0 修复方案:升级版本 ...
- 33.ModelSerializer详解
ModelSerializer特点 根据Model模型的定义,自动生成字段 自动生成相应的验证器 实现create和update 自动默认将关系字段映射成PrimaryKeyRelatedField主 ...
- windows和虚拟机上的Ubuntu互传文件
1.简介 本文讲述的是通过ssh登录虚拟机上的Ubuntu系统,实现互传文件 2.Ubuntu端 2.1.安装ssh sudo apt-get update sudo apt-get install ...
- JS 学习笔记(一)常用的字符串去重方法
要求:从输入框中输入一串字符,按回车后输出去重后的字符串 方法一: <body> <input type="text" id="input" ...
- 前端常见loading动画
loading动画是前端页面加载时必不可少的元素,好看合适的加载动画会极大的提升用户体验与系统的交互效果.下面为大家提供几种简单的加载动画效果,如果帮助到你了请点赞评论. 1.无限循环的圆圈 < ...
- Java:String、StringBuilder、StringJoiner学习笔记
String创建的俩种方式 1.直接赋值 String str = "Hello World!"; 当使用直接赋值的方式去创建字符串的时候,虚拟机会去串池里去检查字符串是否存在,如 ...
- layui table表格使用table.resize()方法 重置表格尺寸
解决 使用layui中的table表格重置表格尺寸 问题 表格的高度共有两种写法 相对应的就有两种解决方法 第一种 当表格高度设置为固定高度时,改变表格高度使用 tableIns=table.rend ...
- CAP 7.0 版本发布通告 - 支持延迟消息,性能炸了?
前言 今天,我们很高兴宣布 CAP 发布 7.0 版本正式版,我们在这个版本中带来了大批新特性以及对性能的优化和改进. 自从今年 1月份发布 6.0 版本以来,已经过去了快1年的时间.在过去的将近1年 ...
- SSH(一)架包的引入
一年多未使用了,有些东西真的会忘. 一.ssh的图形化记忆运作流程 二.Struts2.hibernate.spring需要引用的jar包 Struts2: 基本开发:struts-2.3.32\ap ...