信息学奥赛竞赛中每一分都非常宝贵, 往往人数多的就是一等奖分数线附近的分数段, 一个小失误就会名落孙山, 抱憾终身. 模拟考出现失误不是一句简单"马虎了"就过去了, 一定要有流程化的检查机制确保以后不再丢分, 真正的高手怎么考分数都不会低, 不会出现大的波动. 本文基于200多个学生在6次模拟考中出现的低级错误, 推荐一种检查流程, 希望考生能重视检查,能将检查流程化, 而不是写完程序后无所适从, 白白浪费时
编程是未来成功的基石
信息学竞赛中,容易犯的低级错误数组出错 错误致命程度★★★★
调试时开的大小没改回题目要求 调试时方便将数组中的值全部输出, 然而忘记改回来, 或部分没有改回来. 建议定义1-2个常量, 所有数组定义时大小都设为常量, 方便一改都改, 检查常量大小即可.
数组大小少开一个0或者与题目中其他值搞混导致大小开小了 非常常见, 基本每次考试都有同学说我数组开小了. 和点一样, 定义常量解决, 常量大小设为1e6 + 10这种写法, 这样就不会出现零的个数没写对的情况, 具体每个数组用哪个常量的值一定仔细考虑这个数组下标是对应着题目中哪个量, 它的范围值多少.
咨询详情2维数组或多维数组使用时没想清每个维度什么意思 例如, 模拟考铭文修复那道题同学定义了一个二维数组保存铭文开的大小是a[20][100010],a[i][j]表示第i个石斧上第j个铭文是多少,而这个同学在使用时却把2个维度用反了, 导致了数组越界, 仅仅拿到20分.
咨询详情数组下标调用时使用加法或减法而没注意数组越界 常见的是下标调用减法, 例如模拟考包裹分拣那道题中程序会使用到f[j - w[i]] 这时必须在调用前判断 j - w[i] >= 0, 否则在一些数据中就可能出现运行时错误.
咨询详情
信息学奥赛比赛时间
信息学奥赛(NOIP)初赛内容
1. 一部分是计算机的基础知识。
计算机基础部分,内容多而杂,多以选择题形式出现,所以不必要花太多时间去背,而是平时多积累,有意识的去记忆,留下印象。内容会包括计算机的特征(硬件和软件)、网络的特征和基本概念、信息的输入输出、信息的表示和处理、新兴应用等。
2. 另一部分是数学内容
范围很广,永远不知道会考到哪一部分的知识点,但试卷包括两道数学题,所以不能忽视。比较重要的大概包括排列、组合、辗转相除法、容斥原理等。
3. 数据结构
数据结构会考基本类型(整型、长整型、浮点型、字符等)和数组。比较容易在初赛中出现的数据类型有树、栈、队列等。树:二叉树、完全树等;栈:先进后出特点;队列:先进先出特点。
4. 一部分是程序完成(也就是算法)。
这部分完全是靠你的做题基础,没有捷径,只能靠你平时多做题,掌握简单算法。
比较常见的实用算法:
1. 模拟算法 2. 贪心方法 3. 数论算法 4. 图论算法5. 动态规划(分析:背包问题) 6. 分治算法
7. 搜索算法(fx:暴搜—枚举、打表、加剪枝)
只要一个电话
我们免费为您回电