从此成了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. D - 文理分科 (网络流->最小割)

    题目链接:https://cn.vjudge.net/contest/281959#problem/D 题目大意:中文题目 具体思路:我们需要求出最大的满意值,从另一方面想,我们可以求出总的满意值,然 ...

  2. d 属性: 赋予字段执行动作的能力

    1.对只读属性误解 property AppSetting: ISuperobject read fAppSetting;当看到 AppInfo.AppSetting.D['lastLat'] := ...

  3. XMLHttpRequest: 网络错误 0x2f78,…00002f78

    常在河边走,怎能不湿脚,在web前端开发的过程中总是遇到很多关于IE的故事. 一个get请求,传了一个json对象,包含一串参数,在IE上就出现了这个问题:XMLHttpRequest: 网络错误 0 ...

  4. 【转】Python之列表生成式、生成器、可迭代对象与迭代器

    [转]Python之列表生成式.生成器.可迭代对象与迭代器 本节内容 语法糖的概念 列表生成式 生成器(Generator) 可迭代对象(Iterable) 迭代器(Iterator) Iterabl ...

  5. CentOS挂载光盘

    mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom umount /dev/cdrom /mnt/cdrom 在Ambari集群中配置192.168.0.210: ...

  6. nodejs 数据库操作,消息的发送和接收,模拟同步

    var deasync = require('deasync'); //导入模板 var mysql=require('mysql'); var Stomp = require('stompjs'); ...

  7. openstack新版本ocata的接口改动

    新增placement API,部分替代了原先的nova api的部分功能接口 可在此页面查看API详情及示例:https://specs.openstack.org/openstack/nova-s ...

  8. 【前端】js截取or分割字符串的常见方法

    1.截取字符串 分割字符串方法 1.charAt(): 没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串 例如:var str="Hello world!&quo ...

  9. ios 侧边手势滑动返回 禁用/开启 功能

    // 禁用  返回手势       if ([self.navigationController respondsToSelector:@selector(interactivePopGestureR ...

  10. Oracle ____Undo

    什么是回滚和撤销 update emp set sal=4000 where empno=7788 语句执行过程 1 检查empno=7788记录是否在buffer cache ,如果不存在,则读取到 ...