从此成了OI退役狗

说实话,当时NOIP比赛前就想写这篇,结果一直没有足够的动力和时间写,现在高考完了,也有了时间,就写一点东西,记录一下我的OI经历吧。

初入OI

高一时,我是信息技术课代表(当然没啥用),每次课上做题基本都最快完成,老师看我闲的没事在那里琢磨C++语言,就给我介绍了一下信息学奥赛,但同时也告诉我这条路要有足够的耐心而且要牺牲大多数假期甚至部分文化课学习时间,当时家长对此也比较担心,但由于我的坚持,最终我还是开始踏入了OI这个坑,开始了一年有余的填坑之路。结果由于学校忙着搞人事变动,没人管奥赛的事,直到高一暑假才真正开始集中的奥赛培训。之前一直都是自己有空看看入门书的入门章节,其实收获并不算大。

暑假的奥赛培训

第一节课是由LGA学长和SXY学姐带我们入门,当时学的还是Pascal。由于之前我自己看过一段时间的swift,而swift在行尾并不需要分号,所以入门时不打分号这个事情困扰了我好久,还好后来慢慢适应过来了。此外一开始的打字速度可以说是惨不忍睹,教练说打上几天代码就快了,也确实如此,几天之后,打字就由一指禅变成了二重奏。毕竟实用的技能学的最快。
关于Pascal,有优点也有缺点。优点呢,就是语法严谨,大部分错误在编译阶段就不会被忽略,甚至编译器提示基本就能解决大部分常见错误;此外有原生string类型,效率比STL string高了不少;尤其是Pascal代码易懂,接近伪代码。缺点也有,比如代码确实比较繁琐,C++中的{}在Pascal中等价表述是begin end,比较麻烦;此外for循环的条件限定过于死板,导致for和repeat、while无法完全等价的使用,而C++中的for循环则更为灵活,可以与while、do-while等价使用;另外Pascal缺少模板库的支持,而且OI中也不准使用除math库外的其他库文件,导致编码难度相对上升,而C++有完整的STL库支持,就连C也有qsort等常见函数可用。但是目前看来,Pascal以后可能会逐步退出OI圈,毕竟CCF计划在将来NOIP踢出Pascal和同样倒霉的C语言。Pascal可能真的只能在教学领域及某些特定领域使用了。(讽刺的是DEV-CPP是用Pascal编写的,而现在不使用Linux的考区还在用)
一开始写的代码基本停留在解决小学问题的难度上,比如返回最大值、返回最小值、求个最大公约数等等,还有个神题“校门外的树”,当时用暴力解决,后来用线段树解决。当时还不太会数组(array)的操作,结果一个猴子选大王硬是写了两天,当时就想要一个可以从中间删除某个特定元素的数组,结果很久之后发现STL vector就是我想要的那个数组

陈国凯oi历程的更多相关文章

  1. NOI2018游记&我的OI历程

    day1 今天是报到日,坐着早上9点的飞机到了长沙,午饭时间到达雅礼洋湖. 宿舍还是一模一样,虽然是在女生宿舍. wifi信号还是一样的德行,刻意避开了宿舍内,只好把手机放在窗台上开热点. 饭菜还是如 ...

  2. 日记——OI历程

    学OI也一年多了(2015.12-),一直没学出个像样的东西.相比dalao们,我还是弱爆了. ljj,qyf,yyf三位三区dalao. xxy,myj两位三区学长dalao. 稍微总结一下前一段时 ...

  3. OI历程日常

    之前的一直没来的及记录,表示从今往后连载 10.29 蒟蒻正在紧张的备战NOIP 整改了一下faebdc学长的模拟题,T1直接可以暴力破解,T2二分,O(nlog^2n)开始二分写残了,调了半天唉,现 ...

  4. 2018-2019-2 网络对抗week1 Kali安装 20165333陈国超

    Kali安装 安装过程是按照网上的教程装的,链接点击[https://blog.csdn.net/KNIGH_YUN/article/details/79949512] 安装成功的截图 主要说一下安装 ...

  5. presistence

    每一个神都是从弱到强的,像继科,在2011年之前,人很浮躁,球不稳,只是偶尔打出高质量而已:在输了无数场球之后,球厚了,人也定了(刘国梁评价),才抓住的机会成就了最快大满贯,并且创造了之后的辉煌,继科 ...

  6. Lemon 评测软件用法

    Lemon 评测软件用法(陈国凯手把手教的) MYL学妹提供的软件,感谢. 编译器添加向导->预制编译器配置->g++: C:\Program Files\Dev-Cpp\MinGW64\ ...

  7. OI生涯回顾

    OI回忆录只是一个预告,估计等2020高考结束才放出来吧. 先写一下自己简单的OI历程吧: 小升初刚起步 初一 第一次比赛,NOIP PJ组215分,踩线1=,全省rk86,全国rk677(毕竟AH ...

  8. 我的$OI$

    我只是懒得写日记啦\(\color{pink}{qwq}\) //11月8日 啊--终于要\(NOIp\)了,为此期盼了好久.紧张了好久的我,不知道会迎来怎样的结果. 我只知道这段回忆是值得保留封存的 ...

  9. oi回忆录

    堆在一起写成流水账好了,算是记录一下自己的oi历程.  [伊始] 一直到高中以前,我从来没有接触过任何oi相关的东西. 直到初三的那个暑假,在去金中报名的时候,报名表上面有一栏要填暑假想参加的夏令营. ...

随机推荐

  1. CF115B Lawnmower(贪心)

    CF115B Lawnmower \(solution:\) 很明显的一道贪心题,奇数行只能向左走,偶数行只能向右走,每一行的起点应该在上一行就已确定,而这一行的终点只和(这一行最后一棵草(相对于你走 ...

  2. 位运算&,逻辑与and

    在python中,0是否 >>> True and True True >>> True and True True >>> 2 and 4 4 ...

  3. retrofit 基础使用

    1.先导入依赖 加上网络权限 <uses-permission android:name="android.permission.INTERNET" /> 2.创建接口 ...

  4. Maven入门-运行struts项目进行测试(三)

    maven运行struts项目进行测试: 在入门二中已经导入struts的jar包. 此时的pom.xml文件 <project xmlns="http://maven.apache. ...

  5. kali linux 破解wpa密码

    apt-get update apt-get install hostapd-wpe ls -l /etc/hostapd-wpe/ nano /etc/hostapd-wpe/hostapd-wpe ...

  6. 之手算KD-tree

    转自:https://zhuanlan.zhihu.com/p/27453420 本文来源于Machine Learning: Clustering & Retrieval | Courser ...

  7. nvm安装与使用

    1.nvm是什么 nvm全名node.js version management,顾名思义是一个nodejs的版本管理工具.通过它可以安装和切换不同版本的nodejs.下面列出下载.安装及使用方法. ...

  8. 反向代理负载均衡之APACHE

    反向代理负载均衡之APACHE 一.反向代理1.1 介绍反响代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将 ...

  9. Windows下虚拟机安装Mac OS X —– VM12安装Mac OS X 10.11

    ____________________________________________________________________________________________________ ...

  10. C++11 AUTO 类型实践

    auto在C++11中引入,为大家带来方便. 具体使用及注意事项参考: https://blog.csdn.net/xiaoquantouer/article/details/51647865 htt ...