NOIP 2022 游记
【chen_zhe】NOIP 2022 游记集合帖:http://www.luogu.com.cn/discuss/536978
考虑到这次可能是我人生中倒数第二次,或者最后一次参加NOIP了,看到那么多大佬都喜欢写游记,那我也来记录一下在酒店隔离期间以及打NOIP时的经历吧。写得跟日记一样,写打NOIP时的占比并不高。其中 不喜勿喷
\fcolorbox{black}{#eee}{Day -1}\small\texttt{ Nov.19th \color{#888}(Sat)}
之前一直在等待着关于NOIP将如何进行的通知,由于河南疫情一直很严重,我以为会延期进行了呢。万万没想到,就在今天下午,收到了通知,让后天就去酒店隔离,竟然要隔离五天,还得让辅导老师陪同(太突然了)。不过这样也有好处,防止万一考试当天被隔离在家,而且是上网课,不用担心到酒店上不了课。又得麻烦我的班主任郭老师了!
\fcolorbox{black}{#eee}{Day 0}\small\texttt{ Nov.20th \color{#888}(Sun)}
凌晨我就直接去做医院做核酸了,害怕结果出得太晚,而且做的是单检,害怕同管出阳性。这么谨慎,生怕出一点问题,我就可能会失去参赛资格了。
下午又要求全员做核酸,对于我来说这并不是一件好事,因为很有可能导致小区或单元被封。因此,我和郭老师约定好明天一大早就出发,这样在一定程度上可以减少被封到家出不来的几率。
\fcolorbox{black}{#efe}{Day 1}\small\texttt{ Nov.21st \color{#0a0}(Mon)}
六点多一点儿,我就坐上郭老师的车了,然后一起吃了个早饭,就上路了。上高速后不久,第一节数学课就上课了,我把直播开开了。要说我平时精力都挺旺盛的,一般坐车上观望沿途风景就不会困,上数学课听老师讲课也不会困。但是我在车上听数学老师说了几句话之后,就有点想睡觉了。当她开始讲题时,我眼就快睁不开了,于是一闭眼一睁眼,一节数学课就过去了,也快该下高速了。可能是我起得太早了吧……
不到九点就到酒店了,接下来就是平常的一天。酒店环境确实不错,饭是送上来的,吃着挺好的,比家里做的好吃多了。虽然房间里只有我一个人,但是我丝毫没有感觉到孤独。酒店的占地面积和建筑面积都很大,里面绿化做得也非常好。可是我们不能出去。那就在房间里好好呆着吧,同时希望疫情能早日得到缓解。
温馨提示: 话说我为什么要花这么多笔墨用在写考前的模拟赛呢?
\fcolorbox{black}{#efe}{Day 2}\small\texttt{ Nov.22nd \color{#0a0}(Tue)}
接到早饭时我人都傻了,这么多,让我怎么吃完?可能是因为我在家早饭都吃得太草率了吧。
接着我就直接看模拟赛试题了。果然是NOIP信心赛,难度确实不大。现在的题目果然都越来越二次元了……其实这样挺好的。T1难度我感觉可能连普及都不到吧,花了不到半个小时就A了。T2我不想多想了,直接暴力枚举,然而1pt也没拿到,又是因为没注意到细节。T3的话,我也是没有准备拿全分,于是先写了个能得30pts的程序。后来看还有时间,我就又想了中贪心方法想再拿30pts,然而没拿到。贪心确实有风险,有时候会是错的。可是因为我没有数据来检验,现造的话太麻烦了。T4竟然是ikun又得用dp……本蒟蒻实在不会dp啊,救命!
排行出来时,还好,第12名,不算太拉,虽然一共才四十多个人参加。这确实稍稍给予了我一点信心吧……我看了看Phigure这位大哥的代码,不应该啊,咋会才得了70pts呢?点开他T1程序一看,首先映入我眼帘的一行代码:
char sta[114514];
果然,No zuo no die,本来能拿满分的程序被他这一行整的一半都RE了,原因:数组太臭……
奇怪的是,今天的午饭怎么给了两份?是怕不够我吃吗?一点多,我就换到新的房间了,至于为啥我也不知道,但环境更好了。
\fcolorbox{black}{#efe}{Day 3}\small\texttt{ Nov.23rd \color{#0a0}(Wed)}
我满怀信心地打开了题目pdf文件。浅浅地读了一遍题,完蛋,一道也不会,寄了!那也不能白白浪费一上午呀。算了,赖好写写吧。
首先,T1虽然大眼一看没啥思路,不过我在尝试样例的过程中,发现了一些规律。于是我就凭着我找到的规律去写了,写了快三个小时,中间出了很多bug,直到最后我也不能保证我的算法的准确性。算了,就这样吧。对于T1我是期待得40pts的。
还有半个多小时的时间,再看看T2吧,这一看都是能用“记忆化”打表完成的,于是话不多说我就直接开干了。写完生成程序后,让它跑了10分钟左右,快没时间了,就让它把前
至于T3,T4,我认为那都已经超过我的能力范围了。不看了。
排行出来后,哇,我花快三个小时写的程序爆0了!不过这里我没有用“竟然”一词,因为我当时就感觉确实有可能爆0。还不如暴搜能拿10pts呢。T2符合预期,得了20pts。早知道应该先写T2了,然后挂机跑生成程序,说不定能多拿10~20pts呢。决策失误。
令我感到震撼的是,我才得了20pts,竟然能排到榜8?!我再一看,也就只有25人参赛,还有10人喜提0pt……看来不光我觉得难,估计很多人看太难了就放弃了吧,当然更有可能的是我太蒻了。Phigure这位大哥,拿了100pts并获取了榜1的位置,恭喜!
下午我去问他T1咋写了,因为题解写了跟没写一样。后来我才知道,其实我的思路没有大问题,只是少考虑了一种情况。如果不是多组数据的话,我就应该能得点分了。本来我想再修改一下我提交的程序,但是当我打开我上午写的程序后,发现连我自己写的程序都看不懂了。他也说了,代码确实不好写,这跟我感觉一样。
上体育课(相当于自习课)的时候,我找不到我的手表了,找了半个多小时也没找着。我感觉有可能是忘到原来的房间了,因为我睡觉、洗澡的时候都会摘下手表放到旁边,而且它很小,很容易在收拾东西的时候忽略了。于是我就给前台打电话,然后上去找了,找了半天还没找到。算了,还是先回去吧。结果我在吃晚饭的时候,发现手表在枕头底下压着……我到底啥时候才能改掉丢三落四的习惯啊!
\fcolorbox{black}{#efe}{Day 4}\small\texttt{ Nov.24th \color{#0a0}(Thu)}
可算解封了。早上可以去餐厅吃饭了,下午做核酸的时候也可以出去了。不过话说郑州的疫情似乎不容乐观,好像又有十几个考生由于疫情无法参赛了。我也能感受到那些努力了一年却失去了一次展示自我水平的机会的那些OIer的痛苦,不仅限于我们河南。希望他们能够抓住明年的机会吧。
下完早读我就和郭老师一块儿去食堂了。食堂非常大,里面的菜很丰富,口感也挺不错的。不过我习惯早餐简单地解决了,我也没有弄太多的菜。
接下来就开始打模拟赛了。今天的题是真的简单啊,相比于昨天的简单十倍左右(毫不夸张),跟普及组的难度相似。
T1签到,简单模拟。可能是我脑抽了,看到
排行榜出来的时候,我找了半天没找到我的名字。原来都排到第22名了。为啥T2爆0了?而且是全TLE。我不李姐!今天题目确实简单,竟然有一位大哥AK全场了,还有8位不低于300pts。
下午我看了下提交记录。T2我提交了3次,第一次得了符合预期的70pts,后两次都全T了。因为我在提交第二次的时候发现要用文件读写,第一次提交的时候还写着用标准输入输出,所以我加了个freopen。但为什么全T了呢?相比于第一次提交,除了文件之外我就多加了个#define int long long。那也不应该导致全T呀,第一个测试点才
做核酸的时候,我和郭老师找了半天去大厅的路。酒店太大了,因为我们没有直接从大厅来到目前的房间过,所以自然而然很难找到出去的路。于是我和他像dfs一样寻找大厅。最后花了快10分钟的时间才出去。幸好酒店的路不是树,而是有环的无向连通图……
做完核酸回来,英语课已经上课5分钟了。我还没换鞋呢,刚进直播间英语老师就在找人提问,还刚好提问住我。我也不敢挂断,就接听了,可是我都不知道他们在干啥。于是我接听完以后把麦关了,摄像头还开开,装着说几句话,然后在面板上问“听不到吗?”……这可能是我在网课期间干过最孬的一件事了吧……
\fcolorbox{black}{#efe}{Day 5}\small\texttt{ Nov.25th \color{#0a0}(Fri)}
感觉今天一天都好摆呀,没有模拟赛就突然不知道要干啥了。不过实际上我也没有因为快该NOIP了而感到很慌。
上午做了一道非常简单的(橙)题,想再复习一下vector的相关函数。做着做着突然发现,vector的用法我都快忘完了。主要因为是我平时不怎么经常用vector吧。然后我就返回我的个人主页,再看看都有哪些。我跟被单词一样,半天才记住其中的一部分。剩下时间好像都在摆吧……
下午有个同学给我发过来了一张2018刑侦科推理试题的图片。之前我做过甚至出过这类题,感觉挺有意思的,但没有这个这么复杂。我想了想,反正也没啥事干,写个枚举的程序来解答这道题试试吧。因为10道题,每题4个选项,也就只需要试 只当是复习复习吧……
也就写了一个小时左右的程序就搞定了(可能还没有别的推理大佬推理得快),算出来的确实是正解。实际上这一点难度都没,稍微了解算法的应该都知道,枚举肯定是最暴力的而且写着最简单的,可是为啥我的同学知道我会写代码都感觉我很厉害呢……我感觉我已经够菜的了,像代码这种东西,无论是什么语言,本质上不都是语言吗,所以只要会说话,而且稍微学一学编程,像这种简单的枚举都应该是会编的吧。总感觉那些没学过编程的对咱们OIer有什么误解,不知道在读的各位大佬都有这种感觉没……
温馨提示: 以上都在瞎扯。以下内容才是本文的重点。
\fcolorbox{black}{#fee}{Day 6}\small\texttt{ Nov.26th \color{#a00}(Sat, the day of NOIP)}
时间过得好快呀,一眨眼前5天在酒店隔离的时间就过去了。我定的闹钟是
我
车开了好长时间,感觉有十几分钟。到达考点后,我带上准考证、身份证、学籍证明、几支水笔、一块巧克力、一个口罩就进考场了,大概话说每个人不都是这样做的吗)
#include<bits/stdc++.h>
using namespace std;
int main(){
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
return 0;
}
一早起来,看到洛谷的T2T3的民间数据出了,跑了发T2。出乎意料的是,竟然
按照洛谷估分,总分是
\fcolorbox{black}{#eee}{Day 114514}\small\texttt{ Dec.6th \color{#888}(Tue)}
分数出来力!
T1的数据造的有点水了,让我这种
考场出来时,我感觉很可能比去年分数还低。这个分数确实出乎我的意料,很大程度上都是因为运气很好吧,众所周知运气
希望由于疫情没有参赛的OIer们能够放平心态,在明年的NOIP中取得好成绩,也希望那些由于细小错误导致大问题的OIer们能够下次细心一点,同时祝好AFOer!
附上我的考场代码(很蒻):
-
T1 种花
#include<bits/stdc++.h> #define M 998244353 using namespace std; // CCF yyds int t,id,n,m,c,f; char a[1010][1010]; int s[1010][1010]; long long ac,af; int main(){ freopen("plant.in","r",stdin); freopen("plant.out","w",stdout); ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>t>>id; if(id==1){ while(t--) cout<<"0 0\n"; return 0; } while(t--){ ac=af=0; cin>>n>>m>>c>>f; fill(a[0],a[0]+1005*1005,0); fill(s[0],s[0]+1005*1005,0); for(int i=0;i<n;i++) cin>>a[i]; for(int i=0;i<n;i++){ for(int j=m-1;j;j--){ if(a[i][j]=='0') s[i][j]=s[i][j+1]+1; } // for(int j=0;j<m;j++) cout<<s[i][j]; // cout<<endl; } for(int j=0;j<m;j++){ int l=0; for(int i=0;i<=n;i++){ if(a[i][j]=='0') l++; else{ if(l>=3){ for(int k=i-l;k<i-2;k++){ for(int q=k+2;q<i;q++){ ac+=s[k][j+1]*s[q][j+1]; ac%=M; af+=s[k][j+1]*s[q][j+1]*(i-q-1); af%=M; } } } l=0; } } } cout<<ac*c<<' '<<af*f<<'\n'; } return 0; }这个代码竟然被收录到了HA迷惑行为大赏?!
-
T2 喵了个喵
#include<bits/stdc++.h> #define M 2000005 using namespace std; int t,n,m,k,a[M]; vector<int> c[321]; int s[M*2][3],l; int main(){ freopen("meow.in","r",stdin); freopen("meow.out","w",stdout); ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>t; // 此处省略一大部分我考场上写烂尾的代码 while(t--){ cin>>n>>m>>k; l=0; for(int i=1;i<=m;i++){ cin>>a[i]; } for(int i=1;i<=m;i++){ l++; int w=0,w2=0; bool ok=0; for(int j=1;j<n;j++){ if(c[j].size()==0&&w==0) w=j; if(c[j].size()==1&&w2==0) w2=j; if(c[j].size()&&c[j][0]==a[i]){ s[l][0]=1; s[l][1]=n; l++; s[l][0]=2; s[l][1]=j; s[l][2]=n; c[j].erase(c[j].begin()); ok=1; break; } if(c[j].size()&&c[j][c[j].size()-1]==a[i]){ s[l][0]=1; s[l][1]=j; c[j].pop_back(); ok=1; break; } } if(!ok){ if(w){ c[w].push_back(a[i]); s[l][0]=1; s[l][1]=w; } else{ c[max(1,w2)].push_back(a[i]); s[l][0]=1; s[l][1]=max(1,w2); } } } cout<<l<<'\n'; for(int i=1;i<=l;i++){ cout<<s[i][0]<<' '; if(s[i][0]==1) cout<<s[i][1]<<'\n'; else cout<<s[i][1]<<' '<<s[i][2]<<'\n'; } } return 0; } -
T3 建造军营
没写
- T4 比赛
没写