yiluntaiyang
2024-12-08 00:59:41
如你所见这是一个打了一年竞赛,最后拿了一个一个一个省二的竞赛生。
大概是从高一到noip的过程,然后是竞赛的收获。
故事要从这里开始讲起。
初三的时候误打误撞进了个重点班,发现自己跟不上班里进度开始摆烂打电动。高一的时候老师推荐了信息学竞赛,想着用电脑干点有意义的事就来了。
高一前半年一直在摆,看看课件玩玩游戏。写题也一直是写的基础题,说句闲话,我第一道蓝题是今年暑假才A的。
就这样混日子直到暑假集训,心思还是不在竞赛上。浑浑噩噩地过日子,回家就是玩游戏,如此往复。
说到底还是没有看清楚自己的责任吧,暑假跟同学们一起报了牛客周赛,自己也没弄懂几道题,也借着这个机会摆掉了暑假作业,文化课在500分上下浮动。
但是上了高二之后,在csp初赛迫在眉睫的时候,好像长久以来一直在心底的东西突然有了反应。我发现与平日的学习相比,我在oi上似乎偏心更多一点。但是比赛靠近的时候才想到努力,说实话确实晚了一点。
几天看了看了以往的初赛题,就这样没有一点点防备地走进赛场,选择模拟过去发现代码题根本看不懂于是全蒙过去(我还真没蒙a),最后也是侥幸59.5分过线,只能说河南省是这样的。
当意识到身为竞赛生的负担之后晚自习献给了竞赛。中间补了部分知识点,但是图和树还是一片空白。只能说摆一年了是这样的。
上赛场前没有啥信心,心慌着就进去了郑大考点。一小时改好第一题之后,第二题测速区间第二问直接想偏了。处理完区间之后没意识到这就是一个覆盖问题,写了个不知道意义何在的搜索,还写炸了)。
出考场就知道自己100分了,说实话心里当时还是挺绝望的。我在我们学校并不是特别强的,100分肯定进不了noip,但是这个时候放弃也不合适,进入到一个想停课又不敢停课的两难境界。怕自己不会被推荐上,又怕推荐名额规则啥的出来再停课就晚了。于是只好先继续晚自习学竞赛。
转折
同班大蛇考完csp就停课了,稳进noip的成绩他没啥忧虑。跟老师交流完之后,竞赛老师告诉我们不要停课,当作兴趣即可。言外之意也很明显了,摆了太久现在停课来不及了。事发之后一直有点蒙,说是后悔也可以吧,但是这一般不是我的风格。
停课准备
运气还是占了一点成分。推荐名额正好够把我们机房没进去的全送进去。(高中)于是也是一个的全进noip了(,这个时候正好也刚考完期中,重新估量了一下竞赛对自己的意义,觉得还是不能就这样继续下去。
于是就直接进行了一个两周的停课的练习,考完期中当天就跟老师商量好了。自己选择的路,自己走就是了。
停课当天
为啥要单独挑出来说还是因为这一天挺特别的。我的成绩在这个班里一直都在末流,但是这次想要停课的关头也是直接拿下了一个班级倒数第一,540分离倒数第二(哥们)差了20分。再加上学校要进行善意赶课,有同学很好奇这种情况我还会停课。但是可能性格如此吧,为了所谓的梦想,还是决然停课了。
两周备考
从链表dp树到图论都写了一遍,第一次停课也不用写作业了,没有老师监督的机房自学,一直被想摆的心和责任心互相支配。总体上还是很有帮助的,补齐了很多短板。但是刷题量、思维量这种虚的东西,不是一会儿时间能搞上去的。做的题也终于是从橙题黄题上去绿蓝了(虽然到最后也没搞多少就是了)。
考前一天的时候发现再复习啥其实都多余了,于是在三国杀火影忍者和王者荣耀的快乐里度过了这半天。话说当天到酒店之后还打了几副牌,基本没摸到王)。
考试八点半开始,吃完早饭直接进去敲板子了。忘了在哪个大蛇那里看的提前进去敲板子可以节省时间,虽然最后也是一个没用上吧。
T1第一眼双指针,写了一个小时成功炸钢了。喝了口咖啡再仔细想想,重写一遍加了点细节处理,用了统共两个半小时才写掉。
T2感觉找规律,样例看懂了m==n和n==1(只有一个一元约束,是m还是n忘了)两种情况。正常的样例死活跟我算的不一样,费尽全力无法战胜。看范围感觉还能骗一个全部都改成1的情况,于是杂着搓了个石山出来。思考时间太长了,再加上前面一直在催交代码(我是全场最后一个交的,令人慨叹),慌里慌张改了改就交了。写中间发现三个情况一起骗不太实际,于是就改掉一种情况抓紧交了。
估分:100+20
出来之后听到第一题是蓝题,其实还挺开心的。上一年第一题橙的时候hn省一线划到140,觉得自己这次甚至可能还有希望。
听到有人说大样例很水,有点心慌。
洛谷自测T2 0分,释怀地撕了,但是还是抱有一丝幻想。
出分辣
全都结束嘞。
年级有个同班的204分大蛇,目前好像只有他一个继续oi了(本年级),祝他进队吧。T1没炸,100。T2查的0分,当时没想到自己错的那么抽象。晚上到机房老师用赛时代码交了洛谷20分,当时还在疑惑是为什么。因为当时情况以为省一线在100出头,害怕我过不了。
T2代码::
#include<bits/stdc++.h>
using namespace std;
#define M 1000000007
bool ma[1000000010];
int main()
{
freopen("assign.in","r",stdin);
freopen("assign.out","w",stdout);
int T;
cin>>T;
while(T--)
{
long long n,m,v;
long long ans=1;
cin>>n>>m>>v;
if(m==1)
{
for(int i=1;i<=(n-1)*2;++i)
{
ans*=v;
ans%=M;
}
}
else if(n==m)
{
long long vv=v*v-v+1;
for(int i=1;i<=n-1;++i)
{
ans*=vv;
ans%=M;
}
}
for(int i=1;i<=m;++i)
{
long long x,y;cin>>x>>y;
}
if(ans>1)
cout<<ans<<endl;
else
cout<<0<<endl;
}
return 0;
}
事实上两个性质4个点确实没问题,但是数组开爆了。最夸张的事情是这个数组本来是为了骗第三情况开的,根本没用上。windows系统考试我跑了内存也没问题,听说是linux上会直接炸掉。到这也是直接释怀了,我这个情况甚至还是我们年级第二,传奇T1字符串令人慨叹。
从出考场以为稳省一到后面终于释怀,现在看到hn估计省一线160我还是绷不住了。我时常怀疑自己的能力和态度,但是就这个结果来说,不是到了令人无法接受的地步。100分上不去下不来,一个省二安慰一下算了。
交上去的代码只看结果,但是竞赛的过程本身也相当重要。如果能与信竞早点相遇,我觉得也许结果会改变。但是就跟代码一样,交过了就无法更改。学校两个省一(都是30名),剩下的都是省二。不管怎么说,在学了一年的队伍里,我也算是考的最好的了。
竞赛的过程让我明白了责任的重要性。在一次次对自己的不负责中,我还是在竞赛和文化课上都付出了代价。但是还好我才高二,即使作为oier的责任我没有完全尽到,我也可以说这几个月我已经竭尽所能了。为了喜欢的事情拼搏是高中相当有意义的事情,我会保留这段美好的回忆。接下来的事情相比就简单了,从文化课中去寻找、承担自己身为学生的责任,不要让自己再和竞赛一样留有遗憾。代码有时候是相当残酷的,一点错误就满盘皆输,但是我相当享受改代码时与自己内心博弈、思考的这么一个过程,而我现在可以有充足的时间去重新剖析自己,重构自己了。对我而言,信息学竞赛更大意味着责任、耐心、定力。现在,我可以把收获带到日常生活里面了。竞赛的帮助不是一丁半点的,而是一种生活结构的改变、学习模式的改变。
说实话,一直没想到退竞赛是离我这么近的事,但是我现在有太多责任要去承担,太多错误要去弥补。最后我想说,感谢我的父母对我的支持、鼓励与担心、忧虑,感谢老师对我的教导、启发,感谢同学的帮助(特别是调代码),也感谢我自己停课两周的抉择与付出。我只有一年的时间,但我已尽我所能。如果你还有更多的时间,更多的资源、环境,请追逐你的梦想。不会缺少比你环境资源更加优渥的人,重点在自己的努力、责任承担与付出。
一年的竞赛梦也随着这场省二终结了,但是做人都得往前看啊。毕竟我才16岁,旅途很远,路还很长。