OI 回忆录[0]

写这篇回忆录的目的是当时教练要发公众号,然而一直没有用上。。。
zhihu

OI 回忆录[0]

1.Beginning

dsfz 的编程体验课上,我第一次了解到了“算法竞赛”这个东西和c++这门语言,我当时觉得“编程”真的是一个很神奇的东西,它能让一个个“指令”变成一个可以交互的“工具”,即使我当时并不了解预编译指令,命名空间,流输入这些东西,只是把

1
2
3
4
5
6
#include<iostream>
using namespace std;
int main(){
...
return 0;
}

当成一个程序的“模版”在使用。
我第一个看到的 c++ 程序,可能就是 这个?
老师当时说我们可能几节课就能理解上边那个“扫雷外挂”的代码,但我觉得我可能是在写回忆录的这一天才理解的
而我第一门了解的编程语言,还真不是c++
Swift Playgrounds,我在那里第一次了解到了“编程”这个概念,我觉得swift真的是一门很“优美”的语言,使用驼峰命名法,行之间无需分号,自动类型推测,这也是我ID的来源,然而因为swift可能过于有名,我在大部分平台的用户名都是swift-zym
把一个数组从大到小排序,c++可能要这样
#include

1
2
3
4
bool cmp(int a,int b){ return a>b; }
int main(){
std::sort(array+1,array+len+1,cmp);
}

而swift只需

1
array.sort(by: {a,b in a>b})

可能有点说偏了,再说回OI
当了解c++的语法之后,语法题可能就特别容易了,初期貌似还AK了一些模拟赛,并进了 B层(?

添加图片注释,不超过 140 字(可选)

(能找到的最早的提交记录)
2.NOIP 2018 & JLOI 2019

好像没什么可说的,打了一堆暴力,拿了个 PJ 1=
对于这场比赛我印象最深刻的就是 Guide 告诉我 gets 是 “dangerous” 的,然后我还不会别的读入方式
之后得知了某位学长因为电脑司机而退役了 /kk
这之后还经历了第一次 停课 & 外省集训
然后就是省选了,
D1T1一个能 n2n^2 前缀和暴力的题我一点没想到,写了个 n3n^3竟然还有分
D1T3感觉很有意思,但除了素数测试的什么也看不出来,甚至 19n19^n 都不知道,当时我连莫比乌斯函数都不会(
然后。。。就是NOIP 暂停了,这事对我们的影响可以说几乎没有,因为当时感觉总会有办法的 ,信息学这么大的竞赛又不可能说没就没,之后又有几次去西安和佳木斯的集训,接触了一些“高级算法”,感觉这几次集训听懂的东西大概 30%30\% 左右
3.CSP 2019 & JLOI2020 & APIO2020

CSP 之前把 NOIP 的算法基本都学完了,还做了一本通提高篇大部分的题(?
CSP2019-S 游记
这也是我第一次被 CCF 卡 long long
之后搭了一下自己的博客,用的是 Gridea+Github Pages,除了题解并没有什么东西
然后开始准备省选,但是感觉省选的知识点基本不会 /kk
然后又是省选了,听说这次是 ccf 出的题,竟然要收钱。。。
D1T1 看出来是二分了,用了 1h+ 写完了
其他题全是暴力。
感觉“组合数问题”出得挺好的,可当时连斯特林数是什么都不知道。
中间还参加了一次 APIO,拿了个 Cu
之后就开始做省选的知识点了,感觉数学好难啊 /jk
也是从这时开始学高中的数学竞赛,感觉收获很多(?
之后 COVID-19 就开始了,寒假之后在家上网课,这也使我有了更多的时间来学习OI,光老师说最近两三年都不会有外出集训的机会了 /kk
4. CSP 2020 & NOIP2020

把 accoders 上的省选专题刷到了 120 道左右,进了 A 层,codeforces 也大概是在这个时候开始打的,之后被加到了msannuoi.com上面,也开始弄了accoders NOI的开发。
感觉 CSP 省一问题不大(?
NOIP恢复,CSP并没有取消,要交双倍的钱了(?
之后去考了 CSP,
D1T1的数据范围分在了两张 pdf 上,我看第一页就觉得这就是 sb 题,然后按天模拟,然后大样例 10s 跑不出来感觉不对劲,看到第二页发现 ri109r_i \le 10^9 ,感觉按400年分块剩下的模拟问题不大(?,过了大样例就没管
T2看完不知道在考什么,又看了一遍确认没读错题,然后就过大样例了
T3只会直接线段树 70 pts
T4 dfs 40 pts
考完和 zkq 等人讨论了一下发现把 T1,T2 反过来比较好 都是屑题
之后发现 T2 答案最大可能是 2642^{64},炸 unsigned long long,第二次被 ccf 卡 long long

添加图片注释,不超过 140 字(可选)

NOIP的参加条件是CSP有分,白考了
但 lys 就真因为开 O2 爆0了
NOIP之前开始停课,通过模拟赛,感觉自己对“高级知识点”的应用不是特别好,可能当初没有完全理解。
NOIP T1一眼看出来拓扑排序,然后感觉分母可能有点大就开 了个 long long,我通分的代码是这样的:
int lcm(int a,int b){return a*b/gcd(a,b);}
这部分导致了我被第三次卡long long
T2感觉可以KMP(?,枚举一下循环节再前缀和一下就差不多了(?,负载度 O(n26)O(n*26)可能问题不大吧,然后就看 T3 了。
T3 竟然是构造,写了 1h 左右发现一点不会 /kk
T4 先写了个暴力,感觉二维的部分分有点难拿就先没管
最后期望得分 100+100+0+15=255 pts100+100+0+15=255\ pts
回家咋洛谷发现我T1危了,分母可以卡炸ull,
最后被卡成60分,总排名在省队分数线后一名,但因为是 E 类问题不大(?
5.DSFZ 2020 NOIp 欢乐赛

为了放松一下(?,在 CSP2020 之后 sjw 等人举办了一场校内 ACM
于是画了两周多一点的时间给 OJ 加强了一下罚时系统
6.NOIWC 2021

因为弄文化课省选专题一点没做被光老师 D 了 /kk
目前的通知是 JL 选择 A+B,于是省选就没了 /kk
NOIWC就直接包含在寒假集训里了,在考试前几天吉林通化疫情爆发,A+B变 A+C了

添加图片注释,不超过 140 字(可选)

最后一句还被截图了
感觉A+C可以让NOIP的劣势忽略不计(
模拟赛考了一道弦图,听说还是一年前考过的。。。
感觉这次WC好想造出来很多梗(?
《加边》《随机算法没有前途》
我倒是感觉 D1 晚上 30min 讲的比一上午讲的都好
感觉 WC 我听的最好的是《并行计算》(
WC开场感觉T3之前的模拟赛好想做过,推了 1h 多发现完全不一样,就有点慌了,然后看 T1 30min 左右 写了个 30pts 暴力,之后 T2 写了一个大概 75 pts 的东西。
下午出成绩发现 T2 挂了 30+,直接 Cu /kk
ext.1 关于这篇回忆录

这篇回忆录写的特别匆忙,初一一天赶出来的,以后可能会再补(?
WC21 之后的比赛应该就等高三再写了。。。
ext.2 文化课

感觉OI对文化课的影响并不大(?
我期中/期末的 rank 是这样变化的
| 考试 | 排名 | | :------------: | :–: | | 初一上(期中) | 190 | | 初一上(期末) | 300 | | 初一下(期末) | 190 | | 初二上(期中) | 160 | | 初二上(期末) | 60 |
所以可能有促进作用(?