NOI2022 退役记
博主正在被家长逼着补 whk。记住,你们打完 NOI 先颓够了再回家()
一直鸽着主要是因为想写的东西有很多写不完以及被家长折腾烦了。
想看我加了密码或者隐了的博可以用任意方式联系我,包括找教练。真的可以找教练。
upd:密码一般是 672652-001
。这玩意其实是 hz 那个鼠标下面的序列号。
祝好。祝学弟学妹不挂分。虽然我不挂也没几分就是了。
走啦。zero4338 可爱呐。想揉一揉但可能再也揉不到了。祝好欸。
也祝剩下所有人好呐。
那,真的走啦。
因为没考好所以不想更。
状态和手速都不在巅峰状态所以 Day1 后两题的暴力勉强码完了但是都挂了。
T2 只差 1 Byte。T3 搞错一个数据下标。
不管从哪种意义和目的上来说我都非常差这 25 pts。
所以学弟学妹们 NOI 前一段时间训练的目的也许可以加上一点提升代码能力及不挂分能力(
欸不对这届学弟学妹好像高一就比我厉害那我在这里碎碎念什么啊?
NOI 前的集训环境其实偏自由的,至少没人查寝。
呃好像也不是没人查,但自从我们报出 20996 这个班号之后就再没人管我们了。
这里没有 9 部。
9 部是校园网为那些有学籍但从不露面的学生设立的仅存在于代码上的学部,某种 N/A 区。
简单讲,就是想扣我们分你得先找到 9 部在哪里。加油。
所以机房外的生活其实也挺丰富的。比如我们真的搭了乒乓球桌。
这么挂链接好像不太合适。算了不管了。
比如 6 楼真的有宿舍的插座能用,而你又可以自带电脑。
不过大家睡的应该都不算太晚,感觉至少十二点前应该差不多都睡了吧。
大食堂也关了。只剩下一个小食堂的一两个窗口,菜式好像从六个选择变成三个选择了。
机房和宿舍都放在高楼层其实很合理的,
五层楼梯至少能为这些超脱于跑操和跑餐的人提供最基本的运动量。
想起来一个梗:“啊。我。”
源自某人颓 MC 被教练抓个正着。
好像还有坐垫大战来着?
鲜花文化是好文化。
不管是写鲜花还是能看鲜花都是很好的。
要将鲜花文化发扬光大!(震声
有段时间机房总断电,也会有机惨,所以代码偶尔会丢。
众所周知,较长的代码写一半丢掉了是很令人沮丧的体验。
更何况这段码我好像连着丢了两回,断电丢一回机惨丢一回。
遂花半天时间在菜鸟教程和 @APJfengC 的帮助下写了个基于 Gitee 仓库的自动备份代码的脚本。
放在这里了,有需要可以拿去用。
在 Linux 中,crontab
指令用于创建定时任务。
可以使用 crontab -e
进入定时任务的文本编辑界面。
每行以 f1 f2 f3 f4 f5 program
的格式声明了一个定时任务。
就当前情况而言,使用 * * * * * /home/hzoi/auto_save.sh
以达到每分钟执行一次的效果足矣
mkdir
接受 -p
参数用于确保一个目录被创建(若其已经存在则不做任何事)。
cp
接受 -p
参数用以原样复制如修改时间等信息,接受 -r
参数递归复制子目录及其中所有文件。
目录名可以使用环境变量 date +%Y%m%d-%H:%M:%S
,其中加入的格式字符可以自行修改。
如果只想用现成的脚本则完全不需要有任何 bash 基础。
需要提前注册一个 Gitee 账号,创建一个名为 backup_files
的仓库,或者你自己改名字。
然后直接复制粘贴下面这个简单的自动备份脚本就可以了,记得把脚本里的 hzoi
都换成你自己的用户名。
还有脚本里中文的那些部分要换成你自己的 Gitee 账号信息。嗯。应该还是有必要说一遍的。
它在做的事情是每分钟将主目录下的 noip
目录(训练时就总是在 noip
目录下写代码是好习惯)同时备份到主目录下的隐藏文件夹 backup_files
和你的 Gitee 仓库中,(本地的)每个备份保留半小时。
在有网的环境下,它可以避免因机房电脑被重启导致的代码丢失;
在没网的环境下,它可以减少因机惨删代码导致的代码丢失。
除非机惨者知道你用了这个东西所以连主目录下的隐藏文件夹都删了,
或者你发现被机惨时距机惨发生已经超过了半小时。
另外,它也可以帮助你回滚一些弱智操作,文件夹里会保留过去半小时里每分钟你 noip
目录中的完整内容。
你也可以通过调整参数让备份文件多保留一段时间。
#!/bin/bash
mkdir .backup_files
cd .backup_files/
mkdir last_version
cd last_version/
rm -r * --force
rm * --force
touch details
echo created on `date` > details
git init
git config --global user.email <你注测 Gitee 的邮箱地址>
git config --global user.name <你的 Gitee 用户名>
git remote add origin https://<你的个人空间地址>:<你的登录密码>@gitee.com/<你的个人空间地址>/<你的 Gitee 仓库名,这里是backup_files>
git add .
git commit -m "new commit"
git push --set-upstream origin master --force
cd ..
cd ..
touch .auto_save.sh
chmod +x .auto_save.sh
echo '#!/bin/bash' > .auto_save.sh
echo 'cp -p -r noip ./.backup_files/backup_files_`date +%Y%m%d-%H:%M:%S`' >> .auto_save.sh
echo 'rm -r ./.backup_files/last_version/noip' >> .auto_save.sh
echo 'cp -p -r noip ./.backup_files/last_version/' >> .auto_save.sh
echo 'cd .backup_files/last_version' >> .auto_save.sh
echo 'git add .' >> .auto_save.sh
echo 'git commit -m "new commit"' >> .auto_save.sh
echo 'git push origin' >> .auto_save.sh
echo 'cd ..' >> .auto_save.sh
echo 'touch -m last_version' >> .auto_save.sh
echo 'find * -maxdepth 0 -cmin +30 -exec rm -rf {} \;' >> .auto_save.sh
touch config
echo '* * * * * /home/hzoi/.auto_save.sh' > config
crontab config
rm config
rm tem.sh
NOI 前几天有 hzoi 团建,好像是去看电影。
我发癫没去,留下来打了 REOI,终末祭出题组(目前处于停摆状态)那个。
srds,这题面真的审核了吗?
写了半个题就开始强行帮出题组解释题面去了。后来悄悄混进了出题组。
感谢教练们和队友们对我任性的包容。缺席(几乎是)最后的团建显然并不合适。
最后比赛结束跟着去蹭了顿火锅。
印象最深的是有人最后连餐巾都涮上了()。
UNR #6 其实也打了。
只记得 Day1 花四个小时 A 了 T1,当时评价为 NOI 打成这样(花四个小时做一道题)不如不去。
后面就没再拿到什么分了。喜提铜牌一枚。
笔试满分的我成功被一众没参加笔试的人踩在脚下。
(在学校的)最后几天发了手机。
下了个 Phi,不过好像就打了两三首歌。
其实 VS Code 有个插件,用手机扫一次码后续就能免手机验证登 QQ,联系家里人挺好用的。
不绑设备,也就是说你在自家设备上扫过一次以后在学校电脑上没手机也能登。
写在这就是给人看的。但是不要滥用。你自己开颓别害的其他人真到需要的时候联系不上家里人。
去了苏州,在酒店集训。
印象当中题好像一天比一天难,真就不给信心赛啊?
某人和某女孩子在洛谷上聊天是记忆点之一。
我好像有他抱着电脑躲到一边不给大家看聊天过程的照片。
隔壁某个学校好像搞了个游泳团建?
后来他们是不是被他们教练骂了。
没收手机。回房间无聊会刷下 B 站。
哇酒店软乎乎的床太舒服了,比 hz 那个破床垫上我自费买的垫子都软多了。
两次酒店集训好像是我这两年来睡眠质量最好的两段时间。
除了床舒服以外应该还和不用听那个 B 起床铃有关系吧。
哦还可能跟不用睡那个 B 八人间有关系。
记忆里寒假酒店集训的晚上总有一种安心感。
有队友的家长带着我们出去吃饭,理发什么的。
显然这里应该说一些褒扬的话,更显然的是我不擅长这个。
很认真…很热心…很负责?我不知道怎么选词。
不过没关系,我大概已经表达出核心的意思了。
记得吃饭的时候拍了大量照片,
曾经(不知道现在还是不是)某个 Q 群的头像就是我贡献的,感觉很合适()。
然后出发去昆山狄邦华曜学校。
哇这就是高端学校吗?
一起把整个校园逛了一遍。
比较丰富的食堂,各类球场,游泳池。
宿舍楼有电梯,宽敞的单/双人间,上床下桌。
等哪天翻翻以前拍的照片再补充点。
只能说,硬件方面是拉满的。
还是说我只是在 hz 呆久了这个其实才是正常配置啊?
就是床有点硬。
今年 NOI 有个宣传语讲
很有感觉()。
提前去看了赛场,发现赛场外墙上还有点注意事项(伏笔)。
有个叫 被鄙视(背笔试) 的小玩意很好用。
然后笔试考了一个题库里没有但外墙上有的点(伏笔回收的是不是有点太快了?)
等哪天我找找那个外墙上注意事项的照片放这。
为保护读者阅读体验,照片折叠一下
实际考到的好像是第 6 条,比赛开始前禁止触碰鼠标键盘。
那么我要怎么检查它们有没有问题呢?
再贴个赛场照片
NOI 前一天晚上有晚会。
现场气氛非常活跃。
记得同队有人硬要应邀上去唱歌。
还记得一位上去玩谁是卧底的。
有照片,但没有征得当事人同意所以就先不放了。
点此证明您不是自动程序后再阅读后续内容
请通过找规律,发现 \(ans(a, k)\) 满足以下关系式:
此事在节目《我有一个波特朋友》中亦有记载,嗯。
能感受到大家都很放松,实在是很好的活动。
最后全场(呃大部分人。都知道我五音不全的吧?)合唱开心超人主题曲。
Whenever and wherever, NOI brings us together.
确实是独属于 OIer 的体验。
洗头,看自己博,睡觉。
苍天啊我曾经居然会过这么多东西。
起床,吃饭,出发。
沈老师您 NOI 真的总是要卡点去吗()
路上好像捡到密码条带去考场了?Rp++。
Day1 坐的位置有风直吹。还好带了外套。
但是还是被吹的有点迷糊。
T1 感觉比较好做。绝对众数,明显的摩尔投票法。
多个序列拼接,对每个序列的投票结果做摩尔投票即可。
合并的复杂度基于均摊没什么问题。删除的话对每个元素记录一下投票时与之配对的元素即可。
还需要回检一下是不是绝对众数,可以 map
+ 启发式合并做到两个 \(\log\)。
想做到一个 \(\log\) 好像要启发式合并哈希表,感觉不一定有直接用 map 跑得快,所以就直接写 map 了。
然后假了,因为我写的是两个元素配对,所以维护的一个栈要支持查找删除。
因为快半场了所以有点着急,直接换成 set 跑过了所有样例。
想写拍,但是发现数据十分难造。
想着如果大样例比较强就直接润了。
结果仔细一看:该样例满足测试点 \(11 \sim 12\) 的限制。
绝对是故意的。一边骂一边搓了个拍。
然后想后两题部分分。T2 脑子抽了以为是区间长恰好为 3,于是给 \(k=1\) 胡了个做法,幸好没写。
然后 T3 题面十分长,但那个操作绝对是有实际意义的。
细看像是在用不同的方式拼接链,对着定义玩了一下发现确实差不多。
那链的部分分就好搞了,分个块就好了。但是剩的时间不太够着急写挂了,气。
最后 T2T3 部分分双双写挂爆零,T2 只差 1 Byte,T3 搞错一个数据下标。
寄。
Day1 晚上和 @Yubai 通了森林冰火人。
还顺便知道了 T1 可以卡 long long,寄。
【记得放图,有好多图可以放,不止森林冰火人】
Day1.5 以颓为主,也看了看以前的博。
Day2 位置还是有风吹。
不会 T1,但是暴力有 76pts。
树哈希?我的技巧总结里恰好有这个东西。括号序就行。
然后 T2 比较显然的结论是填的数一定是输入中出现过的。
那么 A 性质的 \(O(n^3)\) 做法是比较好想的。
然后猜了一下填的数单调不降,但是不会证。
然后码码码。花了大量时间确保自己不挂分。
好在确实没挂,但还是垫底。
为啥我猜结论都猜不对啊。为啥我猜结论都不暴力验证啊。
赛后说是怕疫情严重把我们关在苏州,遂草草收拾东西走人。
比较可惜的是后来发现在收拾东西的过程中丢失了 NOI2022 纪念玩偶,蓝色的小恐龙。
【我大概是没有这个玩偶的图了,有空从别人那里借一张吧。嗯,借一张。】
大巴上被其他学校教练搭话,为了随口的一句“啊,听说过你们学校”圆了半天的场。
我怎么可能听说过,只是想客气一下。
但人家也知道你不可能听说过啊,脑子不清醒的时候不要乱说话。
赛后碎碎念:
这博之前只写了一半,过了很久很久(真的很久)才咕咕咕的补完。
所以你会发现这个博似乎是由风格和时间上截然不同的几个部分拼接组成的。
补博的时候又重新看了下 Day1 T1,发现有个地方做麻烦了。
首先你要知道这题里定义的众数要求超过总数的一半,这其实是主元素(OI Wiki 说叫这个名字)。
还是对每个序列维护出序列本身,每种颜色及其个数(按个数排序)以及摩尔投票法的结果(最后投剩下的颜色及个数)。
操作一(末端添加)还是直接做。
操作四(合并序列)还是暴力启发式合并。
操作三(多序列查询)还是对摩尔投票法的结果再做一次摩尔投票法,但是回检直接 check 下该颜色数量是否严格大于 \(\frac{\sum{len_{x_i}}}{2}\) 就行了。你会发现我以前的博里实际上用很复杂的操作去 check 它是不是绝对众数了。我赛时代码应该不是这么写的…吧?
操作二(末端删除)其实不用维护每个元素到底投掉了什么颜色。设当前序列摩尔投票法投出来的颜色为 \(a\),投完颜色 \(a\) 还剩 \(b\) 个:对 \(b\) 分类讨论:
- \(b>0\) :若末端元素颜色为 \(a\),则 \(b\) 减少 \(1\);否则钦定末端颜色投掉了一个 \(a\),删除末端元素使 \(b\) 增加 \(1\)。
- \(b=0\) :先在序列中删掉这个元素,再从新序列中随便取一个与末端元素颜色不同且数量最多的颜色,钦定该元素投掉了选取颜色,则此时 \(a\) 为选取颜色,\(b=1\)。正确性考虑该元素要么投掉过选取颜色(此时显然是对的),要么投掉了另一个颜色,那么去掉该元素就直接让另一个颜色投掉选取颜色就行了。
没了。没写代码,但应该是对的吧。时刻记住你维护的是摩尔投票法的结果而不是主元素和绝对众数之类的东西就行。
其实查分的时候可以带手机进去,所以可以偷偷把题面和自己的代码拍下来带出去。
查分那点时间可能不够你搞清楚自己是怎么挂的,死也得死得明白一点不是。
虽然就算把码带出去也不会有人改题的。
过了很久很久才发现我从来没在这个博里说过 NOI 结果。
Day1 100 + 0 + 0。
Day2 76 + 40 + 8。
A 队再加五分,最后是 229 分,156名,银牌垫底。
想起来辰星凌的博客标题,那这里就是银色的 NOI2022 了。
以前发电的内容稍稍后移了一点,把一些建议类的东西挪前面来了。
一些给学弟学妹们的碎碎念:
有些赛场外的细节值得注意下的。
比如赛前一到两天要洗个澡,没条件的话至少要认真洗下头,
头发痒或者手上沾到油可能会在不经意间让人烦躁,如果这场不顺利的话甚至可能会把你的心态搞炸掉。
比如要带着额外的衣物,偏冷或有风直吹的环境可能是不利于思考和爆手速的,
此时额外的衣服可以让你从容很多。简单讲,至少冷了有的穿。
这两项我觉得是真的会有用,很高兴它们是以经验而非教训的形式写在这里的。
下面三项属于我个人发癫内容。
比如指甲。暴论:我觉得 OIer 都应该随身带一个指甲钳。
比如手。暴论:我觉得 OIer 都应该像电竞选手一样保养自己的手。自行百度手操。
比如屏幕和(如果有)眼镜。暴论:自行购买擦镜纸,学名好像是镜片清洁湿巾。买稍贵一点的,便宜货味道很大还会留下痕迹。
其实我有些遗产的。
这东西本来是一些奇技淫巧总结,还有一部分分散在各个题解里。
题解里所有下面这个格式的东西基本上都是技巧总结,可以独立于题解单独看的。
- 区间 mex 可以转为可持久化权值线段树存每个权值上一次出现的位置
查询就线段树上二分第一个上次出现的位置小于 \(l\) 的权值,见这里
本来想着退役后写个脚本把它们合并一下,但是懒死我算了。
@Yubai 也有类似的东西。想看知识点讲解一类的也可以去他博里找。
如果你觉的自己思维能力欠缺,也许可以去他博里找找题解写的比较长的题做做。
关于 CF(以及 AGC 等等诸如此类) 这个事,
可能会有些人觉得 CF 题很人类智慧,
就像死活想不到但是看了题解感觉豁然开朗那种?
或者总是有明明可以想到的神奇结论?或者极为巧妙?
但是模拟赛的题就没有这种感觉?
所以不想打模拟赛想去刷 CF?
我无法对此问题给出任何建议。我只能说这个问题是真实存在的。
就我个人而言,我确实弃掉了一部分(一小部分,确实不多)的模拟赛去刷 CF。
操作也很简单,提前把题面复制下来就行,
先看看模拟赛有没有签到题,没有就去做 CF,最后留个一两小时码模拟赛暴力,
或者你把模拟赛打到没思路了就去打 CF。
我不确定这样对不对。NOI 的出题思路也许会更接近模拟赛?我不知道。
还是那句话,我只能说这个问题是真实存在的,请自行寻找 CF 和模拟赛间的平衡。
半开玩笑的说,那就请跟随你内心的指引吧。
或者你也可以问问其他现役/退役选手,每个人感受应该都不一样的。
这模拟赛毕竟是教练给你安排的你要是去问教练要不要翘掉模拟赛去打 CF 那还是有点太超前了。
还有个事,关于机房内的学术交流。
任何时候(尤其是省选后)请记住:与你同机房的都是队友,或者战友,随你怎么叫。
请尽量毫无保留地进行学术交流。
队友互防勾心斗角是成不了事的。
共同进步不是说说而已,你的实力上限确实和机房的整体水平有关联。
所以还请尽量不要搞队友互防那一套。
虽然我真的搞了。我认真的:别学我这么干。
我给博客加(公开的)密码又删掉发布动态就是为了让题解在公开的前提下更难找,
因为里面会有些思路总结之类的东西。你会发现我有巨量题解阅读量奇低。
甚至于同机房可能都有不少人根本不知道我其实每题都写题解的。
还有前面说的那个遗产博在 NOI 前其实一直是隐着的。
别搞这套。屁用没有。我后面是不太好改了。
你说你突然开始大量写博还出来一堆知识技巧总结博大家又不傻肯定知道是你之前隐的,
平常题都改不完哪有时间集中写博啊。
认真交流。别学我这个。
关于 whk:
显然我给不出任何有价值的建议。
我个人的评价是 hz 不适合补课,至少我当时遇到的就 tm 是直接扔一堆题给你做。
题确实是好题,hz 的珍贵题源,问题是然后呢?谁 tm 给你讲啊?
OI 可以有极为浓厚的个人风格,而且 OI 以文字交流或一对一交流为主。
而且出于显而易见的原因,OI 交流高度侧重于理解,而不是这 tm 是个题型或者记住就行了。
自己想办法,要么 whk 尽量别落下,要么自己找一对一辅导什么的。
不过有我这个先例了教练应该会给你们搞更靠谱的补课方式吧?
关于(退役后的,现役选手别管这些有的没的)更博:
既然更博就要认真更!写公式要用 Latex,写句子要有句号!
所有用到删除线的地方要保证去掉被删除的内容仍然是完整通顺且标点符号正确的句子!
然后你就会发现你把一整天的时间都浪费在改格式上了。
我听说 bobo 不在 hz 了。
那么 gxyz 的学弟学妹们好好珍惜吧,你们可能遇到了全国范围内也是数一数二好的教练。
至于 hz 学子?我祝他们好运()
可惜听不到吕氏春秋了,当时受益匪浅。
或者那个项目传承下去!我看到那个博了。但还是记得以训练为重。
我个人建议每位 hz 学子都去读一遍吕氏春秋。由于一些私心,就不挂链接了。
这部分旧博已被重写,就折叠掉了
剩下的明天写。先魔怔一会。
对了我博里有些隐了的内容想在学弟省选前公开一下,但基本只有技巧。
在我没有隐的博里也有一部分。虽然可能没啥用就是了。
可以找我要。等联赛后再要。怎么找我都行,可能需要线下找。
我在哪?合理使用校园网
如果想要知识相关总结找 Yubai 要。我不知道他写了多少。
好啦,理性的时间结束了,现在,是发癫时间!
感谢 zero4338 为我带来了一年稳定而快乐的时光。
大概再不会来黏着您啦
算了不犯病了
但是您还欠我一个女装 flag。您同意了让我挑衣服的。
算啦明天再魔怔。
补 A-Soul。看完了珈乐的那场直播。
刷嘉晚饭的切片。最后看了一段晚晚的测试直播切片。
听吉他。对评论区内容做语义分析。高考是什么**。
2022-08-28 22:20:37 星期日
钢琴好听。吉他好听。有机会学的概率是多少呢?
2022-08-28 22:22:55 星期日
随笔会被用于分析,所以不愿意写。
但是要是写了的话,那就是分析去吧,真的想写。
2022-08-29 12:36:35 星期一
想起来一个事情:
试机的时候出了点问题,所有人放在主目录下的文件都被共享了。
所以呢?摊牌了,那个 关注嘉然,顿顿解馋 的目录是我建的。
2022-08-29 12:38:50 星期一
退役的时候红名了。
把个人信息扔给你谷是考虑到以后没准还要来进行一个钱的骗(
2022-08-29 12:41:49 星期一
第三次,也是最后一次说退役了啊喂
2022-08-29 18:22:56 星期一
woc 乃贝糖怎么可以这么甜我怎么没有早看到这些早学到就用在 zero4338 身上了亏大了呜呜呜
哦我没有这样的声线。哦都没有能用的声线。算了。下辈子有机会的。
2022-09-10 21:42:51 星期六
体活跑来划水,以后可能没有体活了(悲
删了一句关于 zero4338 的可能不太恰当的言论
当时写的时候在看猫中毒的 MV,所以就角色代入了一下
然后焚化课差不多得了
你要用三个月的时间补完别人一年的课程
——嗯
你要用三个月的课余时间补完别人一年的课程
——哦
课余时间指公自和课间
——哦
公自每天只有两三节
——哦
课间只有三分钟
——哦,毁灭吧
然后今天因为“充分利用课间时间”被下节课的老师干了
然后下午因为暴躁擦眼镜的时候把眼镜干断了,还好有备用的
然后周测作文写不完
寄。
快没时间了。三机房的书麻烦别动。
三机房那个垫子是留给你们打 CF 时睡的,拿去用就好了。
MAX_QAQ 你什么时候来陪我(
难以适应没有 zero4338 的生活。不知道现在 zero4338 每天的日常是什么样子呢?
不换起床铃。想放假了。
补不动课。你们一定不要来上高三。
下次放假就不会是陪着 zero4338 一起去实验楼闲逛了啊
好想你们。但是 9:53 了,我可能需要跑回去。
那,先拜拜啦。
APJ 快去卷。