信息学竞赛初赛复赛学习方法推荐

北京专业痤疮医院 http://pf.39.net/bdfyy/bdfzj/210311/8736666.html

一、信息学竞赛初赛

1、初赛内容

初赛偏重于基础知识。

一部分是计算机的基础知识。计算机基础部分,内容多而杂,多以选择题形式出现,所以不必要花太多时间去背,而是平时多积累,有意识地去记忆,留下印象。内容会包括计算机的特征(硬件和软件)、网络的特征和基本概念、信息的输入输出、信息的表示和处理、新兴应用等。

另一部分是数学内容。范围很广,永远不知道会考到哪一部分的知识点,但试卷包括两道数学题,所以不能忽视。比较重要的大概包括排列、组合、辗转相除法、容斥原理等;数据结构会考基本类型(整型、长整型、浮点型、字符等)和数组。比较容易在初赛中出现的数据类型有树、栈、队列等。树:二叉树、完全树等;栈:先进后出特点;队列:先进先出特点。

最后一部分是程序完成(也就是算法)。这部分完全是靠你的做题基础,没有捷径,只能靠你平时多做题,掌握简单算法。

下面是小编整理的比较常见的使用算法:

①模拟算法

②贪心方法

③数论算法

④图论算法

⑤动态规划(分析:背包问题)

⑥分治算法

⑦搜索算法(fx:暴搜——枚举、打表、加剪枝(剪枝以排序、可行性剪枝和暴力剪枝为主。))

更具体的算法总结,还是去买相关算法书籍来看,再有就是多刷题练手。

2、初赛试卷形式

初试形式为笔试,编程使用的语言为pascal、C、C++中的一种或多种,三种语言在信奥中的使用差距并不明显。在掌握算法和数据结构后,换语言如同换衣服。但是以后信奥赛只会使用C++。

(1)选择题:共20题,每题1.5分,共30分。每题有4个备选答案。试题内容包括计算机基本组成与原理、计算机基本操作、信息科技与人类社会发展的关系等等。(普及组为20道单选题,提高组为10道单选题和10道不定项选择题,不定项选择题与答案完全一致才得分,多选或少选均不得分)

(2)问题求解题:共2题,每题5分,共10分。试题给出一个叙述较为简单的问题,要求学生对问题进行分析,找到一个合适的算法,并推算出问题的解。答案以字符串方式给出,考生给出的答案与标准答案的字符串相同,则得分;否则不得分。

(3)程序阅读理解题:共4题,每题8分,共32分。题目给出一段程序(没有关于程序功能的说明),有时也会给出程序的输入,要求考生通过阅读理解该段程序给出程序的输出。输出以字符串的形式给出,如果与标准答案一致,则得分;否则不得分。

(4)程序完善题:共2题,每题14分,共28分。题目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若千个语句并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,填出被略去的语句。填对的,则得分;否则不得分。

二、信息学竞赛复赛

1、确定你的语言

信奥包括三种语言C/C++/pascal,在最初必须确定自己使用的语言。没有C/C++基础的,个人建议使用pascal,因为它更容易上手,如果有充裕的时间,则建议C++,因为它们对你今后的程序编写,更有益处,且以后信奥赛只会使用C++。

2、从排序入手

排序是基础中的基础,快速排序是必备本领,方法就是背下来。C/C++是自带快排的,因此很轻松。多关键字排序和稳定排序也是必须掌握的排序知识。

3、贪心和穷举以及模拟——最简单的程序

想得奖,必须掌握贪心和穷举以及模拟,虽然不能让你得满分,但可以给你拿到30-60分。它们是你想不出更好算法时的救命稻草。

贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。但是贪心是可以得分的。

枚举算法是指,列举出所有可能的取值,从中找出最优解。

模拟算法是指,通过逐步进行操作、逐步判断来推断是否符合题目中所给出的情况。非常耗时,一般不可能得到最优解,但是可以得到部分分数。

4、用动态规划来训练思维

比较难,对思维的周密程度和逻辑要求非常高。可以用来训练思维,对于学习时间短的筒子,动态规划可以帮助你迅速进入编程状态,也有助于帮你发现题目背后可能隐藏的更简便的算法。

动态规划主要的思考规律应该如下:

定义函数(动态转移方程中转移量的定义)——建立方程——确定初值和边界

提醒!考场上想不到动态转移方程,请选择贪心、枚举或模拟等方法来获得部分分数。动态规划最后得出的答案不正确时,也不要耗费大量时间来找出错误,因为这非常难,也非常耗时间,得不偿失。

5、学习简单的图论

包括:(单源或多源)最短路和(最小)生成树。

最短路中需要学习Dijkstra算法和Floyd算法。近年来图论题目越来越难,知识点越来越多,所以时间不够,请掌握这两种。

最小生成树需要掌握Prim算法和Kruskal算法。前者适用于稠密图,后者适用于疏密图。两者可以比较学习,看到它们的优点和不足。

6、常用的数据结构一让程序更快一点.

最常用到的是堆(优先队列)、并查集以及树状数组堆。

堆:只


转载请注明:http://www.aierlanlan.com/cyrz/5230.html