分类目录归档:随笔

随笔一篇

又开始写新的system啦!这一次写的比前两回的都要综合!之前一个是score system,只用了php/sql,另外一个是free basic online compiler,用到了php frontend+python backend。已经开始写的就算是要有点算生产环境啦,前端php+mysql,后端还没想好用什么实现,但一定是计算密集型的,估计会用python,或者c++,但是c++有点太麻烦了,估计会用python实现,毕竟类库多啊,用起来也方便。工程量也会大一大截子,估计高考之前是写不完的,哈哈权当周末休闲来写着玩吧

OI退役

有一大堆话想说,但又不知道从何下笔,于是就随便写写吧,说到哪里就算哪里。

2017年11月11日和12日,是我整个中学阶段参加的第二次NOIP,也是我最后一次参加NOIP。这次复赛,我考得比较糟糕,Day1的T1考了一道小学奥数题,这道题把我的思路全部打乱,本来想用扩展欧拉定理(前一天刚刚抱佛脚学的),结果死活也出不来,整场考试有相当一部分时间在想这个,结果导致T3虽然有暴力分,也根本没时间敲。T2是道大模拟,本来应该比较轻松的AC的,但恰好因为T2出题人卡了输入,而我没有准确的而灵活的掌握scanf的输入字符串用法;以及没有准确的掌握结构体赋值运算符重载,而且当时考试时的由于T1的没做出来而紧张,思路错误,本来应该用栈实现,结果搞了个DFS,结果也肯定过不去,所以导致Day1整个崩掉。还好,在考试结束前半个小时突然来了个灵感,找到了答案的表达式,和暴力做法对拍了一下,发现结果是正确的,然后就交了T1,应该是可以AC的,所以预计Day1总分100。T2被卡输入的人也许也不在少数,但是也有不少人AC,所以总体来说,Day1的暴力分数应该达到220分左右。而Day2,我只能说自己发挥勉强正常;T1本来是冲着AC去的,结果考试出来有人说算空间距离必须用double/unsigned long long,而我用的是long long,有可能被卡掉20分,这个会不会卡掉要看数据/命题人是否善良了。而T2本来想写满分的,结果搜索的回溯写出问题了,最后不得已用了个贪心+并查集求个最小生成树,预计得分只能是20分;这道题大部分人的得分应该是70或者100,可惜我写挂了,并不知道这个该怎么写,后来有人说函数传个vector,我是不敢在函数里传vector的,也根本没想到这条路。T3是个树状数组,然而虽然会裸的树状数组维护,然而并没看出来,而且匆匆忙忙打完T2,时间也不够了。所以T3只能匆匆忙忙打个暴力,目测30分,还不知道这30分的数据会不会被卡掉。所以Day2预计得分130。Day2暴力分应该是200。所以总体上加起来两天暴力分数400,而我就打了230左右。这个和理想的分数400还差的很远。估计今年省一的分数线还要涨,而且保不定230哪里写挂了就要扣分……所以目测省一是没希望了……现在再拜佛烧香也来不及了,只能听天由命了……

说起我第一次编程序还要追溯到小学高年级,而第一次知道OI竞赛则是在初中,初中那时在搞网络/服务器/网站一类的东西,于是就入了这个计算机的中学生网络圈子,正好里面有南方的学生在搞这个,于是我听到这个还很羡慕啊,也想参加这个竞赛……后来在上高一之前的那个暑假开学之前几天想要报名NOIP,结果找到北京OI官网时,发现报名已经截止了……,于是就错失了高一参加比赛的报名机会。后来在2016年2月28日,又给北京市的CCF特派员邮箱发了一个邮件,询问报名NOIP的相关事宜。然而当时的我并不知道,这个时候恰恰是NOIP2015结束好长一段时间之后,而且离NOIP2016还有几个月,根本没人看工作邮箱,这个事情就被搁置下来。当时我个人发邮件特派员根本没人搭理,所以我还以为必须集体报名,后来进了圈子以后发现其实是可以自己报名的,但是你必须挑准合适的时间报名咨询。在这里给北京的同学指条明路,不要在绕弯子了(北京OI奥赛官网http://oi.student.gov.cn/,直接把地址复制到浏览器里,里面有北京信息学奥赛报名的各项信息)。我比较幸运的一点是,有了北京市翱翔计划的支持,通过翱翔计划联系到了负责八十中奥赛的贾老师,贾老师同意为我报名NOIP,于是我就在高二的周末抽出课余的时间看MOOC,如果你想学习信息学奥赛的话,个人推荐MOOC(也是我自己看的):(按照难度顺序递增)中国大学MOOC(icourse163)北京大学郭炜:程序设计与算法(一)C语言程序设计、程序设计与算法(二)算法基础。(程序设计与算法(三)C++面向对象程序设计 不要看,竞赛用不上面向对象);浙江大学 陈越 数据结构。学堂在线:清华大学邓俊辉(数据结构)上、下。这三个MOOC。这三个MOOC都有配套的C++程序练习题,一定要跟着做完。OI考试最重要考察的就是你的编码能力。然后呢,如果想考验一下自己的编程能力可以去参加浙江大学陈越主办的PAT考试(Program Ability Test),北京有北工大考点,分为三个级别(顶级、甲级、乙级),PAT比赛都有比较好的集成开发环境(IDE),支持Visual Studio,调试起来非常方便,赛制是IOI赛制,支持实时评测(标准输入输出)并查看分数,但是OI赛制(NOIP)可不是这样的,只能最后提交,全国统一评测(文件输入输出)。这个比赛能够稍稍贴近NOIP的考试环境,可以让你适应考试,同时也可以测试你的数据结构/算法功底。当你能够达到乙级满分时,说明你有了基本的编程思想。当你能够达到甲级满分时,恭喜你,你最少应该能够达到NOIP省三的水平了,但是也不要急着参加NOIP,水平还是达不到的。(说实话,这个PAT是大学毕业后找工作用的……可见普通程序员对算法/数据结构的要求之低,因为普通程序员只要做应用就行了,不需要算法的思想)(PAT的往期题库可以在及PAT考试官网patest.cn找到)然而这些都不够,所有的三门MOOC中没有一门讲授动态规划的思想……所以到现在仅凭自学,我基本上不会任何DP。。当然仅凭这三个MOOC对于数据结构/算法介绍,来对付NOIP也是不够的,你还需要自学树状数组/线段树等。当然,这三个MOOC中,也有一些数据结构是在国家级比赛(NOI)甚至世界级比赛(IOI)根本用不到的,比如红黑树,编写起来太难了。而有的则需要在省选时用到,比如Splay,当然,如果你能仅凭自己走到省选那一步,那实在是非常厉害。不过我觉得你要是能省选,应该是有教练的,这样的话,你就没必要看这篇文章了,你的教练肯定要比我经验丰富的多。除了PAT考试之外,还有CCF举办的CSP测试,和PAT是同一性质,在此不加详述,有兴趣的自学同学可以在网上搜索打听一下。于是在经历了这一系列课余的学习与考了几场PAT测试与CSP测试之后,我就独自来到了NOIP2016的舞台,先是有惊无险的以倒数的名次过了NOIP2016的初赛,然后就参加NOIP2016的复赛。当时我连搜索都不怎么会,因为去年的NOIP2016比较简单,然后我就拿到了209的分数,得了2=。今年是高三了,我想最后拼搏一把,就报名了NOIP2017,在复赛考试之前一个月开始请假周六周日参加模拟赛,再在考前一周请整周的假期练习。结果今年的题出成这样,然后我就挂的貌似差不多了。。希望CCF给我开开恩啊……对于想要参加NOIP的选手来说,在这些都做完之后,一定要在各大OJ刷题,我个人帮洛谷OJ打个广告,非常好的一个OJ,管理员人比较好,而且肯下功夫维护。并且除了练习基础题之外,一定要抽时间写一些NOIP真题!NOIP真题是非常重要的!

我的OI一路走来这么长的时间,所有东西都是我抽时间在课余学习的,而且是贯穿了整个高中时光的休息时间,这么紧张的时候,我也没有教练培训,能坚持下来是为什么呢?要是纯是为了功利,我自己肯定早就放弃了。其实大部分OIer能够坚持下来,或者说大部分竞赛生能坚持下来,都是因为自己的志趣在此(用个文雅的词语)。。或者说是兴趣。。其实我也不知道我的兴趣是怎么来的……也许可能就是小时候一件不经意的计算机小事激发了我的斗志,然后完成了它,带给了我一种成就感。然后就一发不可收拾,走上了这条道路。当然这其中也不乏功利的成分,要是竞赛奖项没用的话我可能就不参加高三的NOIP了……但是更更主要的是个人的成就感推动着你走上这条路,形成一个良性循环。所以说,一个人为什么喜欢做一件事,享受做一件事?因为这能够给他带来满足感、快乐感、成就感。要想让人干一件什么事,总是得有点快乐才行的。。

从此以后,我就真正的算作OI退役选手了。在去年参加NOIP之前,我还在想,我能否真正的算作一个OI选手呢?也没有教练,什么都没有,还是自己看的MOOC,什么都没怎么学,甚至连一次课都没有停过,就随随便便的得了2=。这样怎么能算真正的OI选手呢?但是今年NOIP2017参加过之后,我相信自己已经真正的成为了一名OI退役选手了,或者说曾经当过OI选手,哪怕我今年NOIP爆零我都是一名真正的OI选手,因为我真正的为我所钟爱的梦想的NOIP2017信息学奥赛而奋斗、努力过。有高一周末时天天看MOOC学习数据结构算法,也有我贯穿整个高中的刷题与调试程序、更有我高二复赛前请假准备、最有高三复赛前一个月周末请假,复赛前一周周末刷题的疯狂。尽管我今年的暴力可能打爆了,也可能得不到一等奖,或者是什么奖都拿不到,我也是一名真正的OI选手。结果固然重要,得一等奖固然重要,但是得不到一等奖也没有办法,但更加重要的是这种过程,至少给我留下了我努力的回忆,让自己不留遗憾。这种感觉也许是没有曾经全身心/志趣投入到一件事的人无法领会的吧。写到这里,真的想落泪了……

整篇文章写完了,希望各个部分能对不同的人有所裨益。第一段也许是给想看NOIP2017题解的人留的,第二段也许是给没有教练带着的自学OIer的,第三段也许能够给各位老师、家长或者任何用心阅读的人一点心灵上的触动与启发,第四段献给自己。也许我身边的人无法领会,但是这段美好的回忆会始终留在我的脑海中……永远也不会消失。

我的OI生涯虽然退役了,但是编程的爱好却永远不会消逝,因为高三的原因,对于计算机可能会暂停一段时间,但上了大学之后,我如果有时间的话,一定会参加ACM竞赛,继续编程之路。

最后非常感谢各位曾经对我OI生涯有过支持的人。包括我的父母,我的翱翔计划基地校老师贾老师(竞赛老师lsl,lxl),他在帮助我参加NOIP竞赛上给予了我极大的帮助,还有我翱翔计划的导师罗老师,以及我们中学的计算机老师赵老师,以及twd2,kkksc03,ltt等各位OJ站长,各位八十中同学zx,cjr,在北京独自作战的hzr,厦门的cyy,以及所有过去曾经解答过我OI问题的同学。

我的高中计算机生涯,就算没得一等奖,也圆满了。

唉,又想流泪了。。

PS:从来没写过一篇文章这么多字数……截止到现在已经4200+字数了。这一大段话我认为是我真情实感的最好表达了,之前一直想要表达也没能表达出来……今天终于一次性写出来了。。

Jack
写毕于 2017.11.12 23:39

注意:该文章请勿将文字复制转载,要转载请直接转发本文源链接,谢谢。

OIer

愉快的OIer生活结束啦……后天我就要开学啦!在此做一点纪念!
—–我是OIer的分割线—–
仅有OIer能解开下面的密码并查看内容:
密码的值为:

1
2
3
4
uint32_t passwd = 0xffffffff;
passwd = (passwd == -1);
passwd += char('8' + '0' + 'z');
printf("%10d", passwd);

永远的追忆与思念

配乐:徐梦圆 China-X

剪不断,理还乱,是离愁。别是一般滋味在心头。——题记
前几天,我才刚刚知道,下学期,白老师要离我们而去,前往新疆进行一年的支教活动。虽说这直到现在还是一条保密的消息,但我还是通过各种渠道提前得知了。
听到这条消息,我的第一反应就是:为什么要让这么好的白老师前去支教呢!随便让谁去不好呢?然而残酷的现实决定了学校不得不这样做:全校数学教研组,只有白老师一个人没有结婚。他便成了支教的最佳人选。
他是2015级13班的班主任老师,他自从我们进入潞河中学学习就一直教授我们数学。白老师的严厉是出了名的,全校同学一听到他的名字都会胆战心惊。正是因为他的严厉,我们每个同学才能够有动力取得长足的进步。同时,他也是爱我们的,为我们着想并且负责的老师。虽然他每次批评我们的语言都令我们难以接受,但是这也证明了他的心里有我们,时时刻刻的考虑着学生,而且这种语言还让我们有了极其强大的抗打击能力。
进入高中以来,我的各方面都有了极大的改变与进步。这很多都源于白老师的功劳。
我刚刚进去高中的时候,性格是十分内向的,不想也不会和别的同学多说话。13班也有一部分同学是这样。白老师就及时的提醒我们,注意多与别的同学进行沟通交流。现在,13班的每一个同学都能够算是活泼开朗,有一个属于自己的社交圈子。这都要归功于白老师。
还记得高一的数学课上,学习函数。高中数学中,最难的一个部分就是函数。难的我根本啥都听不懂,学不会。非常着急,脸色很难看。白老师在课堂上看到我脸色不好,就关心我,让我不要着急,下了课去办公室找他。到了办公室,白老师还没问什么,我就难受的哭了起来,说自己一点都跟不上,白老师也安慰我,而且还鼓励我,让我加油,说:‘多多练习总能跟得上的。’我很感激白老师对我的鼓励,直到现在我还仍旧记忆犹新。
除此之外,白老师一直所说的‘自主招生’也对我起了很大的作用。老师初次说自主招生怎样怎样我还不以为然,后来抱着“老师说的肯定没错的心态”停课三天,参加了一次信息学联赛,获得了一个省级二等奖,这着实让我高兴了好几天。到了后来,我才真正明白了自主招生的作用,不由得佩服白老师的远见。
除此之外,还有白老师说的提前在高二语文,英语背单词背课文等等,都绝对是极好的提议,但由于时间原因我并没有进行。我相信严格按照这个计划有的人一定会有很大的收获的。
只可惜这么好的白老师不能留在我们的身边,白老师走时,是高三上学期刚刚开学。支教一年回来,我们也就高中毕业了,这最后一年重要的时光,不能与白老师共享,实在是可惜!正如李煜所写的:剪不断,理还乱,是离愁。别是一般滋味在心头。
白老师给了我这么大的帮助,我生怕忘记了白老师,可是我又知道我是一定会忘记一些事情的,只祈求新的班主任来之后,我还能够记得白老师的好,永远不要忘记吧!
写于2017.04.16

难受

好不容易出去实践周一次还不到地方两个小时一通电话把我叫回来参加翱翔计划我真**。难受死我了