本文将收录一切我认为对我十分有帮助的他人的博文以及我认为有价值的我自己的原创文章。

引言

有人说:程序=算法+数据结构,所以OI=程序=算法+数据结构。

在我看来,这句话的前半句是对的,但后半句则有本质上的错误,我自己提出了一个公式:

OI=数据结构相关算法+容器+应试能力+数学+码力

我来解释一下吧。

  • 数据结构相关算法

所谓“数据结构相关算法”是我自己生造出来的一个名词,因为在OI中的代码与实际工作用的工程代码完全不同,工程代码讲究OOP,要求数据结构与算法分开,而在OI中,一场比赛往往只有几个小时,分配给一道题的时间最多最多只有2个小时,使用OOP是不现实也无意义的,即使确有必要,OIer顶多只需要用带有简单成员函数的结构体。显然,OI中的代码比较混杂,算法是依附于代数结构而存在的————代码长度决定了这一点,而OIer学习时往往也是按照数据结构分类的,比如先统一学图算法,再统一学树算法等等,算法往往就是对一种数据结构的使用与操控,因而应该将算法称之为:“数据结构相关算法”。

  • 容器

如果是上一个“数据结构相关算法”对应算法的话,这个“容器”就应该对应数据结构,之所以不称之为数据结构,因为了防止与前一个相混淆,还有一个原因是容器一般是为了提高得分的使用的,完全不使用容器也可以得分,但往往不能AC,使用一般的容器便能提升很多得分,而使用与上一因素“数据结构相关算法”最匹配的容器才能保证AC,容器更像附加上去的一个东西,而非得到正确输出的代码的一部分,缺了“数据结构相关算法”程序就可能爆零,但缺了容器程序至少还能得分(数据太弱的时候也许还能AC呢)。

  • 应试能力

这点十分重要,OI毕竟也是千军万马走独木桥,相对与高考,OI的人数要少得多,然而这座独木桥也窄的多,两者综合来看,竞争实际上比高考激烈的不只是一点点,再加上一年只有一次比赛,高一基本没人能得到报送,高三要准备高考,也就是说只有高二一年有机会,而一年只有一次比赛,CSP-S或是省选或是NOI,考砸一个数年的努力便全部化为泡影,而发挥不稳定也是OI的垢病之一,往往一个很小很小的小错误就可能少得100分,这100分,就是退役与保送的差距,而OIer只有高二一年!只有一次机会!只要有一点失败,就会抱憾退役......许多人因此十分紧张,很多OIer都在回忆录中表示退役之战前的日子比高考前的日子还漫长、还难熬————这紧张过分的情绪无疑会再度增加发挥不稳定的可能性,导致退役......因而,应试能力十分重要,开始前心态平和,考试时稳定发挥,考试后不过分或喜或悲是十分重要的!我因此把他提到了第3位,位于数学和码力之前。

  • 数学

这点的重要性毋庸置疑,高级算法,如DP,DDP,树论,线性规划等都是需要数学的,数学能力是一个人学习能力与智商在一定程度上的综合体现。

  • 码力

又是一个奇怪的名词,这个词的意思是Coding的能力,综合包括了对所使用语法的掌握深度,对IDE和操作系统的运用能力,把脑中的思路转化为代码的速度和成功率等等,甚至还包括敲键盘的速度(手速)。无疑也是十分重要的,如果码力欠佳。就会发生一看题目啥也不会,一看题解就秒懂的尴尬的笔试型选手,往往在OI这个都独木桥上走不远。但实际上由于大部分人码力都没有什么问题,所以我把码力这个因素排在了最后一位。


(以下内容尚不完善,有时间后再充实与更新)
我想收纳的文章有上百篇,但暂时没时间一一添加链接,以后有时间再说吧。

算法相关博文推荐


数据结构相关博文推荐


应试技巧相关博文推荐


码力相关博文推荐

大话OI的更多相关文章

  1. SQL SERVER大话存储结构(5)_SQL SERVER 事务日志解析

          本系列上一篇博文链接:SQL SERVER大话存储结构(4)_复合索引与包含索引    1 基本介绍 每个数据库都具有事务日志,用于记录所有事物以及每个事物对数据库所作的操作. 日志的记录 ...

  2. 大话keepalive

    大话keepalive 我们说到keepalive的时候,需要先明确一点,这个keepalive说的是tcp的还是http的. tcp的keepalive是侧重在保持客户端和服务端的连接,一方会不定期 ...

  3. 再见,OI

    你好,NOIP 2015年9月1日 正式成为了福建省莆田一中的一名高一成员 后来学校搞了选修 大家都很激动 因为自己的兴趣和特长能够得到发挥了(或者说能逃课或者看好多电影) 发现选修提供的选项中有好几 ...

  4. 我也来说说DDD~大话目录

    回到占占推荐博客索引 DDD之前没有接触过,但一但有了接触就一发不可收拾,他会带去进入一个全新的世界! DDD不是新技术,而是新思想,新模式,是软件开发领域的一次突破,它更接近于业务,对于业务的改动它 ...

  5. Atitti 大话存储读后感 attilax总结

    Atitti 大话存储读后感 attilax总结 1.1. 大话存储中心思想(主要讲了磁盘文件等存储)1 1.2. 最耐久的存储,莫过于石头了,要想几千万年的存储信息,使用石头是最好的方式了1 1.3 ...

  6. 大熊君大话NodeJS之------Connect中间件模块(第一季)

    一,开篇分析 截止到今天来说,NodeJS系列文章已经有将近十篇了,让我们回顾一下: (1),大熊君大话NodeJS之开篇------Why NodeJS(将Javascript进行到底) (2),大 ...

  7. 告别我的OI生涯

    本文章写于2008年12月15日. 随着2008noip的结束,我也结束了我的OI生涯. 信息竞赛也许是从小到大让我最最努力的一件事.我记得参加2006noip初赛前,每天中午为了上信息课都吃不上中午 ...

  8. 收集一些关于OI/ACM的奇怪的东西……

    一.代码: 1.求逆元(原理貌似就是拓展欧几里得,要求MOD是素数): int inv(int a) { if(a == 1) return 1; return ((MOD - MOD / a) * ...

  9. 继续OI

    NOIP2016于2016.11.20日12:00正式结束. 我作为oi的生涯 或许会结束? 或者继续? 然而前途依然迷茫,我是否应该继?或是放弃? 距离省选还有3~4个月,我该何去何从? 虽然已经经 ...

随机推荐

  1. HDUNumber Sequence(KMP)

    传送门 题目大意:b在a第一次出现的位置 题解:KMP 代码: #include<iostream> #include<cstdio> #include<cstring& ...

  2. 实例调用(__call__())

    任何类,只需要定义一个__call__()方法,就可直接对实例进行调用 对实例进行直接调用就好比对一个函数进行调用一样 __call__()还可定义参数,所以调用完全可以把对象看成函数,把函数看成对象 ...

  3. webpack入门配置步骤详解

    1.初始化 1.npm install webpack webpack-cli webpack-dev-server --g 全局安装必要的第三方插件 2.mkdir config dist src ...

  4. SpringBoot系列之@PropertySource用法简介

    SpringBoot系列之@PropertySource用法简介 继上篇博客:SpringBoot系列之@Value和@ConfigurationProperties用法对比之后,本博客继续介绍一下@ ...

  5. Protractor-引入Cucumber

    上一篇博文中我们已经在package.json中写入了cucumber依赖库,在执行 npm install 之后,cucumber就已经下载好了.接下来要做的是修改conf.js,请参考下图: 去年 ...

  6. 利用Python进行数据分析-Pandas(第一部分)

    利用Python进行数据分析-Pandas: 在Pandas库中最重要的两个数据类型,分别是Series和DataFrame.如下的内容主要围绕这两个方面展开叙述! 在进行数据分析时,我们知道有两个基 ...

  7. GNSS学习笔记--坐标转换

    GNSS 坐标转换 GNSS计算主要涉及三个坐标系,地心地固坐标系,地理坐标系和站心坐标系.这里主要介绍一下三个坐标的含义和转换公式. 地心地固坐标系如图X,Y,Z表示 (ECEF坐标系),以地心O为 ...

  8. C# 异或

    遗忘的东西. 真的是很少用呀. 操作符为^ 简单来说就是相同为假(0),不同为真(1). 给一个小小的例子(密文) class Program { static void Main(string[] ...

  9. MongoDB 修改数据Cannot change the size of a document in a capped collection: * != *"

    MongoDB修改数据库数据的时候报错 原因: 集合被设置成了 固定集合 .固定集合的数据不能被修改.只能查找-删除-再插入,也就是创建集合的时候设置了capped参数为true 解决: 创建集合的时 ...

  10. Core源码(三) Lazy<T>

    Lazy<T>解决什么问题? 1.大对象加载 考虑下面的需求,有个对象很大,创建耗时,并且要在托管堆上分配一大块空间.我们当然希望,用到它的时候再去创建.也就是延迟加载,等到真正需要它的时 ...