您的位置:首页 > 理论基础

全国青少年信息学(计算机)奥林匹克分区联赛竞赛大纲

2015-09-02 09:46 246 查看
全国青少年信息学(计算机)奥林匹克分区联赛竞赛大纲

一、初赛内容与要求:(#表示普及组不涉及,以下同)

计算机的基本发展

诞生与发展
特点
在现代社会中的应用
计算机系统的基本组成
计算机的工作原理#
计算机中的数的表示
计算机信息安全基础知识
计算机网络

计算机的基本操作

MS DOS与Windows的使用基础
常用输入/输出设备的种类、功能、使用
汉字输入/输出方法
常用计算机屏示信息

程序设计基本知识

程序的表示

自然语言的描述
PASCAL或BASIC语言

数据结构的类型

简单数据的类型

构造类型:数组、字符串
了解基本数据结构(线性表、队列与栈)

程序设计

结构化程序的基本概念
阅读理解程序的基本能力
具有完成下列过程的能力:

现实世界(指知识范畴的问题)—>信息世界(表达解法)—>计算机世界(将解法用计算机能实现的数据结构和算法描述出来)

基本算法处理

简单搜索
字串处理
排序
查找
统计
分类
合并
简单的回溯算法
简单的递归算法

二、复赛内容与要求:在初赛的内容上增加以下内容(2002年修改稿):

计算机软件

操作系统的使用知识
编程语言的使用

数据结构

结构类型中的记录类型
指针类型
文件(提高组必须会使用文本文件输入)
链表

图#

程序设计

程序设计能力
设计测试数据的能力
运行时间和占用空间的估算能力#

算法处理

排列组合的应用
进一步加深回溯算法、递归算法
分治法
搜索算法:宽度、深度优先算法
表达式处理:计算、展开、化简等#
动态规划#

三、初赛试题类型:

试题语言三者选一(程序设计语言:C或C++或PASCAL)
判断、填空、完善程序、读程序写运行结果、问答

四、推荐读物:

分区联赛辅导丛书
NOI导刊

高精度

加法
减法
乘法
高精度除单精

排序算法

选择排序
插入排序
hash排序
归并排序
堆排序
快排

字符串匹配算法

蛮力法
KMP

数论

欧几里德算法
扩展欧几里德算法ax+by=c的正整数
素数测试 {O(sqrt(n))}
筛法求素数
快速乘方(请用高精)

树论

二叉搜索树
优先队列
线段树 (RMQ问题建议使用st算法)
平衡树一种(建议学习SBT)

图论

拓扑排序
割顶,割边(桥) {O(n)}
强连通分支 {O(n)}
有向无回路图的最长路径(罕见用上的)
欧拉回路
最小生成树

Prime
Kruskal (这个个人觉得挺重要的)
次小生成树 {简单的删除最大边是不对的}

最短路径

(推荐单源使用spfa,同样可以通过设上限发现图中是否有负权回路,而且这个思想在去除dp中的暂时后效性非常有用)

Dijkstra
Bellman-ford
spfa
flyod

计算几何学 {NOIP不是不考几何}

判断两条线段是否相交
凸包算法 {O(n)}

其他算法

并查集
RMQ问题(通解:线段树,st算法)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: