大话OI
本文将收录一切我认为对我十分有帮助的他人的博文以及我认为有价值的我自己的原创文章。
引言
有人说:程序=算法+数据结构,所以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的更多相关文章
- SQL SERVER大话存储结构(5)_SQL SERVER 事务日志解析
本系列上一篇博文链接:SQL SERVER大话存储结构(4)_复合索引与包含索引 1 基本介绍 每个数据库都具有事务日志,用于记录所有事物以及每个事物对数据库所作的操作. 日志的记录 ...
- 大话keepalive
大话keepalive 我们说到keepalive的时候,需要先明确一点,这个keepalive说的是tcp的还是http的. tcp的keepalive是侧重在保持客户端和服务端的连接,一方会不定期 ...
- 再见,OI
你好,NOIP 2015年9月1日 正式成为了福建省莆田一中的一名高一成员 后来学校搞了选修 大家都很激动 因为自己的兴趣和特长能够得到发挥了(或者说能逃课或者看好多电影) 发现选修提供的选项中有好几 ...
- 我也来说说DDD~大话目录
回到占占推荐博客索引 DDD之前没有接触过,但一但有了接触就一发不可收拾,他会带去进入一个全新的世界! DDD不是新技术,而是新思想,新模式,是软件开发领域的一次突破,它更接近于业务,对于业务的改动它 ...
- Atitti 大话存储读后感 attilax总结
Atitti 大话存储读后感 attilax总结 1.1. 大话存储中心思想(主要讲了磁盘文件等存储)1 1.2. 最耐久的存储,莫过于石头了,要想几千万年的存储信息,使用石头是最好的方式了1 1.3 ...
- 大熊君大话NodeJS之------Connect中间件模块(第一季)
一,开篇分析 截止到今天来说,NodeJS系列文章已经有将近十篇了,让我们回顾一下: (1),大熊君大话NodeJS之开篇------Why NodeJS(将Javascript进行到底) (2),大 ...
- 告别我的OI生涯
本文章写于2008年12月15日. 随着2008noip的结束,我也结束了我的OI生涯. 信息竞赛也许是从小到大让我最最努力的一件事.我记得参加2006noip初赛前,每天中午为了上信息课都吃不上中午 ...
- 收集一些关于OI/ACM的奇怪的东西……
一.代码: 1.求逆元(原理貌似就是拓展欧几里得,要求MOD是素数): int inv(int a) { if(a == 1) return 1; return ((MOD - MOD / a) * ...
- 继续OI
NOIP2016于2016.11.20日12:00正式结束. 我作为oi的生涯 或许会结束? 或者继续? 然而前途依然迷茫,我是否应该继?或是放弃? 距离省选还有3~4个月,我该何去何从? 虽然已经经 ...
随机推荐
- 基于Django的Rest Framework框架的响应器
本文目录 一 作用 二 内置渲染器 三 局部使用 四 全局使用 五 自定义显示模版 回到目录 一 作用 根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件.用户请求URL: ht ...
- centos安装mongodb 4.x及配置用户名密码(官方推荐的方式)
安装mongodb 先在本地用记事本做一个这样的文件(命名为:mongodb-org-4.0.repo): [mongodb-org-4.0] name=MongoDB Repository base ...
- react的this.setState中的坑
react的this.setState中的有两个. 1.this.setState异步的,不能用同步的思维讨论问题 2.在进行组件通讯的回调的时候,this指向子组件,没有指向父亲这,怎么办呢.在 c ...
- Linux常用命令之重启关机命令
shutdown命令 shutdown命令用来系统关机命令.shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作. 实例 指定现在立即关机: shutdown -h now ...
- 【LOJ#575】【LNR#2】不等关系(容斥,动态规划,分治FFT)
[LOJ#575][LNR#2]不等关系(容斥,动态规划,分治FFT) 题面 LOJ 题解 一个暴力\(dp\),设\(f[i][j]\)表示考虑完了前\(i\)个位置,其中最后一个数在前面所有数中排 ...
- MYSQL 高级语法
1.高级建表和插入 使用creat 和select 进行建表操作,中间采用AS 标识符: CREATE TABLE new_table AS SELECT * FROM exist_table LIM ...
- WPF之动态加载曲线
首先说一下思路: 先创建一个控件(其实就是一个canvas),在canvas里面生成一条线,给这条线绑定一个PointCollection,在主界面中用一个定时器改变这个PointCollection ...
- SpringBoot(五) SpringBoot整合mybatis
一:项目结构: 二:pom文件如下: <parent> <groupId>org.springframework.boot</groupId> <artifa ...
- SpringBoot(四) SpringBoot整合JdbcTemplate
一.数据准备CREATE TABLE `tb_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `username` varchar ...
- 从 http协议角度解析okhttp
Okhttp 介绍 OkHttp 是 Square 公司开源的一款网络框架,封装了一个高性能的 http 请求库. 支持 spdy.http2.0.websocket 等协议 支持同步.异步请求 封装 ...