从此成了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. JDK7与8内存参数解析与修改

    JDK内存 jdk内存实际是jvm内存,jvm有一个运行时数据区,其实就是对这一部分的大小分配. 运行时数据区通常包括这几个部分:程序计数器(Program Counter Register).Jav ...

  2. CentOS7_JDK安装和环境变量配置

    1.下载 curl -O http://download.Oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz 2.改名 mv ...

  3. .NET中制做对象的副本(三)通过序列化和反序列化为复杂对象制作副本

    1.类的定义 /// <summary> /// 学生信息 /// </summary> [Serializable] public class Stu { /// <s ...

  4. /etc/profile 路径出错后相关的命令失效解决方式

    关于 Linux 的配置文件 /etc/profile 路径出错后相关的命令失效解决方式(如:ls,vi不能用) 今天学习LINUX 下配置jdk 和安装tomcat 通过VI编辑/etc/profi ...

  5. freeRTOS中文实用教程1--任务

    1.前言 FreeRTOS是小型多任务嵌入式操作系统,硬实时性.本章主要讲述任务相关特性及调度相关的知识. 2. 任务的总体特点 任务的状态 (1)任务有两个状态,运行态和非运行态 (2)任务由非运行 ...

  6. Git相关二三事(git reflog 和彩色branch)【转】

    转自:https://www.jianshu.com/p/3622ed542c3b 背景 git太常用了,虽然,用起来不难,但也有很多小技巧的东西... 1. 后悔药 哪天不小心,写完代码,没comm ...

  7. ubuntu cron 及 crontab 自动执行任务

    Add the below line (with tweaks) to the end of /etc/crontab: 30 23 * * * root shutdown -h now At 23: ...

  8. sysbench安装、对Mysql压力测试、结果解读及mysql数据库跟踪优化

    sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试. sysbench支持以下几种测试模式: 1.CPU运算性能 2.磁盘IO性能 3.调度程序性 ...

  9. Day6------------硬盘分区

    1.sda1 sd:串行接口 a:第一块硬盘 1:第一个分区 ls /dev/sd 查看硬盘 fdisk -l /dev/sda 查看分区信息 block------------>8*512 8 ...

  10. JQ初学总结一

    Jquery是最火的JavaScript库,大部分web开发都会用到就jquery,而作为初学者看了一些jq的用法总结自己的学习以增强自己的认知. 普通的javascript的缺点是:每种控件的操作方 ...