关于信息学奥林匹克竞赛的若干问题(高中)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于信息学奥林匹克竞赛的若干问题(高中)相关的知识,希望对你有一定的参考价值。

我高一刚结束。
由于我们省区(山东)在我们这一届实行高考改革,可能要不分文理。而且复读生对应届生冲击很大。另外国家现在正在加大自主招生名额。
我想参加数学竞赛和信息学竞赛。

下面问几个关于信息学竞赛的问题:
1.我自学过C++,也很想在信息学竞赛中用C++,可以吗?推荐这样吗?
2.如果学C++,用什么辅导材料? 有什么值得推荐的书?
3.如果不学C++……

我高中刚毕业,也是搞信息竞赛的。C++是可以使用的,不过有不少限制,如对STL库的限制等。C++是面向对象的语言,但NOIP完全用不上面向对象的设计思想。对于NOIP这种考算法的比赛来看,学好面向过程的语言才是关键,因为NOIP的考核主要是看算法和数据结构,这正符合面向过程语言的设计思想,而C++的核心是类,是对象,这与NOIP要考的知识相差很大。
如果你已经有了C++的基础,那么完全可以用C++参加NOIP。不过与C和Pascal选手比起来,并没有什么优势。关键还在于对算法和数据结构的积累,以及扎扎实实的练习。
当然,如果你愿意,也可以用C参加竞赛。其实两个是差不多的,只要稍微注意一下竞赛大纲对C++的限制即可。
NOIP常用的书目有《奥赛经典》的基础篇、提高篇、数据结构篇等。最好买详细介绍数据结构和算法的书,这样的书也很多,清华大学出版社的不错。
另外,信息学训练常用的网站:
http://www.vijos.cn
http://www.oibh.org (有所有网站的比赛消息发布等)
http://train.usaco.org
(最后一个是英文的,可以去http://www.nocow.cn/index.php/USACO_Training看着翻译做。)
其他的也非常多。
信息学竞赛也需要大量的做题量。另外要多找老师咨询,弄清楚有关比赛的基本知识。我初中参加普及组比赛时完全不会文件操作,结果0分……
也应该看一下NOIP近年发布的大纲以了解相关信息。
祝你好运!
参考技术A 可以
辅导资料网上到处有,如果是初学者的话,只要有语言指导的书都可以.
不学C++,可以学pascal ,易学易懂. 但真正要学好信息竞赛, 还是要靠活跃的思维
参考技术B 1.可以丫,还有一种语言是pascal,比c++好入手。但是既然你已经有c++基础那就继续吧!其实用什么语言都是无所谓的,算法都是一样的。
2.材料很多啦。网上有很多题库。像1l推荐的http://www.vijos.cn,还有http://train.usaco.org都不错。如果英语好的话还是做后面一个比较好,这个比较系统。另外那个http://www.oibh.org上面有很多消息,包括题目,还有办模拟赛的消息,很不错。www.noi.cn,是大赛官方网址。书嘛,像1l推荐的《奥赛经典》上面的代码都是伪代码,趋向于pascal的(比赛用pascal的人很多的),不过很不错的,建议看。另外还有一本《全国青少年信息学奥林匹克联赛培训教材(中学高级本)》,很不错,还有一本习题,可以看看。上面的算法都是要考的。
3.不学c++就是pascal,容易理解,容易懂。

山东好像还是蛮厉害的省。好好加油吧,两个月时间有点紧。

五大学科竞赛NIOP全国青少年信息学奥林匹克分区联赛竞赛大纲

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

计 基

算 本

机 常

的 识

* 诞生与发展  *特点 *在现代社会中的应用

* 计算机系统的基本组成

* 计算机的工作原理# *计算机中的数的表示

* 计算机信息安全基础知识  *计算机网络

计 基

算 本

机 操

的 作

* MS DOS与Windows的使用基础(在2013年后,很少出现与MS DOS相关内容)

* 常用输入/输出设备的种类、功能、使用

* 汉字输入/输出方法

* 常用计算机屏示信息

程序设计基本知识

程序的表示

* 自然语言的描述

* PASCAL,C++或C语言

数据结构的类型

* 简单数据的类型

* 构造类型:数组、字符串

* 了解基本数据结构(线性表、队列与栈)

程序设计

* 结构化程序的基本概念

* 阅读理解程序的基本能力

* 具有完成下列过程的能力:

现实世界(指知识范畴的问题)

信息世界(表达解法)

计算机世界(将解法用计算机能实现的数据结构和算法描述出来)

基本算法处理

* 简单搜索 * 字串处理

* 排序 * 查找

* 统计 * 分类 * 合并

* 简单的回溯算法

* 简单的递归算法

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

计 算

机 软

*操作系统的使用知识

*编程语言的使用

*结构类型中的记录类型

*指针类型

*文件(提高组必须会使用文本文件输入)

*链表

*树

*图#

*程序设计能力

*设计测试数据的能力

*运行时间和占用空间的估算能力#

*算法的实现能力

*程序调试基本能力

*设计测试数据的基本能力

*程序的时间复杂度和空间复杂度的估计

*排列组合的应用

*进一步加深回溯算法、递归算法

*分治法

*搜索算法:宽度、深度优先算法

*表达式处理:计算、展开、化简等#

*动态规划#

离散数学知识的应用(如排列组合、简单图论、数理逻辑)

*分治思想 *模拟法 *贪心法

*简单搜索算法(深度优先 广度优先)搜索中的剪枝

*动态规划的思想及基本算法

三、初赛试题类型:

注:试题语言三者选一

(程序设计语言:C++语言,C语言或Pascal语言)

(自2022年起,Pascal语言将被全部取消,C语言将被部分取消) [4]

*判断 *填空 *完善程序 *读程序写运行结果 *问答

四、推荐读物:

*分区联赛辅导丛书

*学生计算机世界报及少年电世界杂志

*NOI导刊

以上是关于关于信息学奥林匹克竞赛的若干问题(高中)的主要内容,如果未能解决你的问题,请参考以下文章

参加全国青少年信息学奥林匹克竞赛需要具备哪些方面的知识?

高中哪些竞赛书比较不错啊??

关于举办第22届全国青少年信息学奥林匹克联赛浙江赛区颁奖大会暨省队集训选拔的通知

参加全国青少年信息学奥林匹克竞赛需要具备哪些方面的知识?

第11届全国少年信息学奥林匹克联赛初赛试题

第十七届全国青少年信息学奥林匹克联赛初赛试题 参考答案 (悬赏100。。。)