数学类问题
1. 精度处理(高精度、实数处理、各种浮点类型处理方法)
2. 组合数学问题(斐波那契数列、第二类数、卡特兰数、Polya原理、排列组合计数、加法原理与乘法原理)
3. 进制问题(特定二进制串的统计、二分查找、利用二进制进行路径、状态描述、二进制转换)
4. 递推与递归关系(递推关系式、通项公式、数列、博弈问题)
5. 数位、数字、特定数值的查找、统计(数值处理、质因子分解、幂次分解、数值表达式、添加运算符、分式与实数运算)
6. 数学杂题(回文数字、矩阵处理、约瑟夫与反约瑟夫问题)
7. 数学剪枝(无解判定、解线性方程组、限定搜索范围)
常用策略
1. 相关公式、定理、原理的应用
2. 寻找规律、归纳整理递归与递推关系式
3. 按照数学方法构造、二进制转化等技巧性处理
4. 注意事项:
A. 规律准确(小数据手工推算、搜索程序验证)
B. 数据类型是否合理、数据范围是否超界(大数据处理)
字符、字串类问题 1. 读入、分离和统计问题(文件结束符、行结束符、空格符、回车符、字符组合分离、统计) 2. 插入、删除、修改、替换等相关编辑问题(字符距离、优美编辑、初始状态与目标状态的变换、迭代等处理性问题) 3. KMP算法及其改正 4. 回文串、高精度运算及其以字符(串)作为处理对象的相关问题 常用策略 1. 一般性字符处理 2. 动态规划方法 3. 字符树(查找、树的前序、中序、后序遍历) 4. 注意事项: A. 读入时小心 B. 字符串类型与字符数组存贮及其压缩存取
统计类问题 1. 方案总数统计(矩阵、三角形划分方案统计、问题解集个数统计) 2. 特定、离散元素统计(二进制统计问题) 3. 横向、纵向规模化问题(数据范围、数据维数巨大) 4. 离散化问题(卫星覆盖、图形周长) 5. 一般性统计问题(时间复杂度) 常用策略 1. 扫描技术、归类统计及平面、空间坐标体系变换等几何学知识 2. 离散化思想 3. 线段树处理方法 4. 降维、剪枝 5. 借助于数学方法进行统计 6. 注意事项: A. 统计计数:避免待统计元素的遗漏、重复 B. 多次读文件、边读边处理等大数据文件的处理技巧
模拟类问题 1. 按题设描述进行直接模拟 2. 队列模型模拟 3. 按时间顺序模拟状态 常用策略 1. 按条件描述直接模拟 2. 注意事件发生的起止时间、状态的变化 3. 按某一指标(时间)排序进行预处理 4. 注意事项: A. 准确理解题意,切忌加入个人想当然思想,严格按题意进行模拟 B. 一般来说要考虑的因素较多,做题前要有绝对清晰的思路并逐步修正要考虑的各种因素
搜索类问题 1. 枚举类问题(有较好枚举方法或枚举量不大的问题) 2. 产生式系统(产生式规则,生成新的元素类问题) 3. 无任何好的解决办法或其他方法不能完成的问题 4. 搜索与其他方法的结合(与动态规划的结合、与贪心思想的结合等) 常用策略 1. 确定搜索对象和搜索策略 2. 选取适合的搜索方法(深度、广度、记忆化搜索) 3. 注意与其他方法的结合(贪心回溯、动态规划) 4. 减少搜索量(剪枝) 5. 注意事项: A. 剪枝条件的正确性(加剪枝条件与不加剪条件的程序结果对照) B. 搜索也是解决问题的一种方法,有时搜索程序也可以收到较好的效果,只要有较好的优化措施
最优化问题 1. 图论中的最优化问题 2. 规划问题 3. 特定指标(长度、次数等)最(极)值问题 常用策略 1. 动态规划 2. 图论中经典算法及其改正 3. 贪心+搜索解决办法 4. 贪心思想 5. 数学方法 6. 注意事项: A. 动态规划阶段划分、状态描述及转移方程对动态规划效率的影响 B. 状态存贮对空间优化的影响(根据题目特点决定状态存贮数目、状态存贮方法的选取(滚动存贮、压缩存贮)) C. 双层动态规划 D. 多次动态规划
图论问题 1. 最小生成树问题、最小点基、中心点设置 2. 路径问题(最短路、关键路径、道路、ERLUR回路、哈密顿回路) 3. 拓扑排序问题(顶点的度) 4. 连通性问题(添加、删除边、点增加或减少连通度) 5. 流量问题 6. 二部图的匹配问题(最大匹配、最佳匹配) 常用策略 1. 点、边、权、度等图中基本元素关系 2. 拓朴排序作预处理 3. 图论算法的变形与改正 4. 图搜索算法 5. 标号法 6. 动态规划方法 7. 注意事项: A. 选取图结构的存贮数据结构(矩阵、邻接表) B. 在构建图模型时,考虑是否有多种构图方法
2000-2016 年 NOIP 普及组与提高组复赛考察内容
阅读推荐:
信息学奥赛指南ll家长篇〈一〉
信息学奥赛指南Ⅱ家长篇〈二〉
信息学奥赛指南Ⅱ家长篇〈三〉
信息学奥赛指南Ⅱ家长篇〈四〉
信息学奥赛指南Ⅱ家长篇〈五〉
信息学奥赛指南Ⅱ家长篇〈六〉
字符、字串类问题 1. 读入、分离和统计问题(文件结束符、行结束符、空格符、回车符、字符组合分离、统计) 2. 插入、删除、修改、替换等相关编辑问题(字符距离、优美编辑、初始状态与目标状态的变换、迭代等处理性问题) 3. KMP算法及其改正 4. 回文串、高精度运算及其以字符(串)作为处理对象的相关问题 常用策略 1. 一般性字符处理 2. 动态规划方法 3. 字符树(查找、树的前序、中序、后序遍历) 4. 注意事项: A. 读入时小心 B. 字符串类型与字符数组存贮及其压缩存取
统计类问题 1. 方案总数统计(矩阵、三角形划分方案统计、问题解集个数统计) 2. 特定、离散元素统计(二进制统计问题) 3. 横向、纵向规模化问题(数据范围、数据维数巨大) 4. 离散化问题(卫星覆盖、图形周长) 5. 一般性统计问题(时间复杂度) 常用策略 1. 扫描技术、归类统计及平面、空间坐标体系变换等几何学知识 2. 离散化思想 3. 线段树处理方法 4. 降维、剪枝 5. 借助于数学方法进行统计 6. 注意事项: A. 统计计数:避免待统计元素的遗漏、重复 B. 多次读文件、边读边处理等大数据文件的处理技巧
模拟类问题 1. 按题设描述进行直接模拟 2. 队列模型模拟 3. 按时间顺序模拟状态 常用策略 1. 按条件描述直接模拟 2. 注意事件发生的起止时间、状态的变化 3. 按某一指标(时间)排序进行预处理 4. 注意事项: A. 准确理解题意,切忌加入个人想当然思想,严格按题意进行模拟 B. 一般来说要考虑的因素较多,做题前要有绝对清晰的思路并逐步修正要考虑的各种因素
搜索类问题 1. 枚举类问题(有较好枚举方法或枚举量不大的问题) 2. 产生式系统(产生式规则,生成新的元素类问题) 3. 无任何好的解决办法或其他方法不能完成的问题 4. 搜索与其他方法的结合(与动态规划的结合、与贪心思想的结合等) 常用策略 1. 确定搜索对象和搜索策略 2. 选取适合的搜索方法(深度、广度、记忆化搜索) 3. 注意与其他方法的结合(贪心回溯、动态规划) 4. 减少搜索量(剪枝) 5. 注意事项: A. 剪枝条件的正确性(加剪枝条件与不加剪条件的程序结果对照) B. 搜索也是解决问题的一种方法,有时搜索程序也可以收到较好的效果,只要有较好的优化措施
最优化问题 1. 图论中的最优化问题 2. 规划问题 3. 特定指标(长度、次数等)最(极)值问题 常用策略 1. 动态规划 2. 图论中经典算法及其改正 3. 贪心+搜索解决办法 4. 贪心思想 5. 数学方法 6. 注意事项: A. 动态规划阶段划分、状态描述及转移方程对动态规划效率的影响 B. 状态存贮对空间优化的影响(根据题目特点决定状态存贮数目、状态存贮方法的选取(滚动存贮、压缩存贮)) C. 双层动态规划 D. 多次动态规划
图论问题 1. 最小生成树问题、最小点基、中心点设置 2. 路径问题(最短路、关键路径、道路、ERLUR回路、哈密顿回路) 3. 拓扑排序问题(顶点的度) 4. 连通性问题(添加、删除边、点增加或减少连通度) 5. 流量问题 6. 二部图的匹配问题(最大匹配、最佳匹配) 常用策略 1. 点、边、权、度等图中基本元素关系 2. 拓朴排序作预处理 3. 图论算法的变形与改正 4. 图搜索算法 5. 标号法 6. 动态规划方法 7. 注意事项: A. 选取图结构的存贮数据结构(矩阵、邻接表) B. 在构建图模型时,考虑是否有多种构图方法
2000-2016 年 NOIP 普及组与提高组复赛考察内容
年份 | 题目名称 | 考查内容 | 难度 |
2000-2016年NOIP普及组复赛题目 | |||
2000 | 乘积最大 | 划分动态规划 | ★★★ |
2000 | 税收与补贴问题 | 数学或枚举 | ★★ |
2000 | 单词接龙 | 深搜 | ★★★★ |
2000 | 计算器的改良 | 字符串处理 | ★★ |
2001 | 装箱问题 | 0/1背包或枚举 | ★ |
2001 | 数的计算 | 动态规划 | ★ |
2001 | 求先序排列 | 树的遍历 | ☆ |
2001 | 最大公约数和最小公倍数 | 数学(辗转相除法) | ★ |
2002 | 过河卒 | 棋盘动态规划 | ★☆ |
2002 | 级数求和 | 循环结构(枚举) | ☆ |
2002 | 选数 | 深搜、素数判定 | ★★★ |
2002 | 产生数 | 最短路(图论)、高精度 | ★★★★ |
2003 | 数字游戏 | 动态规划 | ★★★★★ |
2003 | 麦森数 | 分治、高精度运算 | ★★★ |
2003 | 栈 | 数学(卡特兰数) | ★★ |
2003 | 乒乓球 | 字符串处理 | ★☆ |
2004 | FBI树 | 二叉树的遍历 | ★★ |
2004 | 不高兴的津津 | 枚举 | ☆ |
2004 | 火星人 | 数学(排列)、stl | ★★★ |
2004 | 花生采摘 | 贪心 | ★ |
2005 | 采药 | 0/1背包 | ★ |
2005 | 循环 | 高精度运算、数论、快速幂 | ★★★★★ |
2005 | 淘淘摘苹果 | 枚举 | ☆ |
2005 | 校门外的树 | 枚举 | ★ |
2006 | 开心的金明 | 0/1背包 | ★ |
2006 | 明明的随机数 | 桶排序、冒泡 | ★ |
2006 | Jam计数法 | 数学、字符串 | ★★★ |
2006 | 数列 | 数学(进制转换) | ★☆ |
2007 | 守望者的逃离 | 动态规划或枚举 | ★★★ |
2007 | 奖学金 | 快速排序(双关键字) | ★ |
2007 | Hanoi双塔问题 | 数学、高精度 | ★☆ |
2007 | 纪念品分组 | 贪心、排序算法 | ★☆ |
2008 | 传球游戏 | 动态规划 | ★★★ |
2008 | 排座椅 | 贪心 | ★★ |
2008 | ISBN号码 | 字符串处理 | ★ |
2008 | 立体图 | 字符输出 | ★★★ |
2009 | 道路游戏 | 动态规划 | ★★★★★ |
2009 | 分数线划定 | 快速排序(双关键字) | ★ |
2009 | 细胞分裂 | 数论 | ★★★★ |
2009 | 多项式输出 | 字符串处理 | ★ |
2010 | 数字统计 | 枚举 | ★ |
2010 | 接水问题 | 模拟 | ★★ |
2010 | 导弹拦截 | 排序+枚举,贪心 | ★★★★ |
2010 | 三国游戏 | 贪心 | ★★★ |
2011 | 瑞士轮 | 模拟、快拍、归并排序 | ★★★ |
2011 | 数字反转 | 模拟、字符串 | ★ |
2011 | 统计单词数 | 模拟、字符串函数 | ★ |
2011 | 表达式的值 | 栈、表达式计算、递推 | ★★★★★ |
2012 | 摆花 | 动态规划 | ★★★★ |
2012 | 质因数分解 | 枚举 | ★ |
2012 | 寻宝 | 模拟,模运算 | ★★★ |
2012 | 文化之旅 | 搜索、最短路(图论)、动规 | ★★★★☆ |
2013 | 小朋友的数字 | 动态规划、子段和 | ★★★★ |
2013 | 计数问题 | 枚举 | ★ |
2013 | 表达式求值 | 模拟或栈 | ★★ |
2013 | 车站分级 | 图论、拓扑排序 | ★★★★☆ |
2014 | 珠心算测验 | 枚举 | ★ |
2014 | 比例简化 | 枚举 | ★☆ |
2014 | 螺旋矩阵 | 数学分析 | ★★★ |
2014 | 子矩阵 | 搜索或dp | ★★★★☆ |
2015 | 金币 | 枚举 | ★ |
2015 | 扫雷 | 枚举 | ★☆ |
2015 | 推销员 | 枚举、堆 | ★★★★☆ |
2015 | 求和 | 数学(数列) | ★★★ |
2016 | 买铅笔 | 模拟 | ☆ |
2016 | 回文日期 | 枚举 | ★☆ |
2016 | 海港 | 枚举 | ★★ |
2016 | 魔法阵 | 数学分析、枚举 | ★★★★ |
2000-2016年NOIP提高组复赛题目 | |||
2000-A | 进制转换 | 初等代数,找规律 | ★ |
2000-B | 乘积最大 | 资源分配DP | ★★★ |
2000-C | 单词接龙 | DFS,字符串,模拟 | ★★★ |
2000-D | 方格取数 | 多维状态DP | ★★★★ |
2001-A | 一元三次方程求解 | 数学,枚举,实数处理 | ★ |
2001-B | 数的划分 | 资源分配DP,多维状态DP | ★★ |
2001-C | 统计单词个数 | 资源分配DP,字符串 | ★★★ |
2001-D | Car的旅行路线 | 最短路(图论),实数处理 | ★★★★☆ |
2002-A | 均分纸牌 | 贪心,模拟 | ★★ |
2002-B | 字串变换 | BFS,字符串 | ★★★ |
2002-C | 自由落体 | 数学,物理,模拟,实数处理 | ★★★ |
2002-D | 矩形覆盖 | 动态规划/贪心/搜索剪枝 | ★★★★☆ |
2003-A | 神经网络 | 拓扑排序(图论),递推 | ★★ |
2003-B | 侦探推理 | 枚举,模拟,字符串 | ★★★★ |
2003-C | 加分二叉树 | 树,区间DP | ★★★★ |
2003-D | 传染病控制 | 随机贪心/搜索剪枝 | ★★★★☆ |
2004-A | 津津的储蓄计划 | 模拟 | ★ |
2004-B | 合并果子 | 最优哈夫曼树,排序,贪心 | ★★★ |
2004-C | 合唱队形 | 子序列DP | ★★ |
2004-D | 虫食算 | 搜索剪枝,模拟 | ★★★★☆ |
2005-A | 谁拿了最多奖学金 | 模拟,字符串 | ☆ |
2005-B | 过河 | 子序列DP,贪心优化 | ★★★ |
2005-C | 篝火晚会 | 置换群,贪心 | ★★★★ |
2005-D | 等价表达式 | 字符串,抽样检测,表达式 | ★★★★ |
2006-A | 能量项链 | 区间环DP | ★★★ |
2006-B | 金明的预算方案 | 资源分配DP,构造 | ★★★ |
2006-C | 作业调度方案 | 模拟 | ★★★★ |
2006-D | 2^k进制数 | 动态规划/组合数学,高精度 | ★★★ |
2007-A | 统计数字 | 排序 | ★ |
2007-B | 字符串的展开 | 字符串,模拟 | ★★ |
2007-C | 矩阵取数游戏 | 区间DP,高精度 | ★★★ |
2007-D | 树网的核 | 最短路(图论),树的直径 | ★★★★ |
2008-A | 笨小猴 | 质数判断,字符串 | ★ |
2008-B | 火柴棒等式 | 枚举,优化/开表 | ★★ |
2008-C | 传纸条 | 多维状态DP | ★★★ |
2008-D | 双栈排序 | 枚举,贪心/二分图 | ★★★★ |
2009-A | 潜伏者 | 字符串,模拟 | ★ |
2009-B | Hankson的趣味题 | 初等数论,质因数,组合数学 | ★★★★ |
2009-C | 最优贸易 | 最短路(图论) | ★★★☆ |
2009-D | 靶形数独 | 搜索优化 | ★★★★☆ |
2010-A | 机器翻译 | 模拟 | ★ |
2010-B | 乌龟棋 | 动态规划优化 | ★★★ |
2010-C | 关押罪犯 | 二分答案或并查集 | ★★★★ |
2010-D | 引水入域 | 广搜+动态规划,判断有解和无解 | ★★★★☆ |
2011-D1A | 铺地毯 | 循环队列 | ☆ |
2011-D1B | 选择客栈 | 二分查找 | ★★★ |
2011-D1C | Mayan游戏 | 深搜、剪支 | ★★★★★ |
2011-D2A | 计算系数 | 组合、二项式系数 | ★ |
2011-D2B | 聪明的质监员 | 部分和优化 | ★★★ |
2011-D2C | 观光公交 | 递推分析、贪心 | ★★★★ |
2012-D1A | Vigenere密码 | 左偏移位 | ★ |
2012-D1B | 国王游戏 | 贪心、排序后列出 | ★★★ |
2012-D1C | 开车旅行 | 离线深搜,动态规划、倍增 | ★★★★☆ |
2012-D2A | 同余方程 | 数论、递归,扩展欧几里得 | ★★ |
2012-D2B | 借教室 | 枚举、线段树、树状数组、二分 | ★★★☆ |
2012-D2C | 疫情控制 | 二分答案,贪心,倍增 | ★★★★☆ |
2013-D1A | 转圈游戏 | 快速幂 | ★ |
2013-D1B | 火柴排队 | 逆序对、贪心 | ★★★ |
2013-D1C | 货车运输 | 最大生成树,最近公共祖先 | ★★★★ |
2013-D2A | 积木大赛 | 模拟 | ★ |
2013-D2B | 花匠 | 序列 | ★★ |
2013-D2C | 华容道 | 广搜\最短路(图论) | ★★★★ |
2014-D1A | 生活大爆炸版石头剪刀布 | 模拟 | ☆ |
2014-D1B | 联合权值 | 遍历(图论),二次展开式 | ★★★ |
2014-D1C | 飞扬的小鸟 | 背包(DP) | ★★★★ |
2014-D2A | 无线网络发射器选址 | 模拟 | ★ |
2014-D2B | 寻找道路 | 最短路(图论)\遍历 | ★★★ |
2015-D1A | 神奇的幻方 | 模拟 | ★ |
2015-D1B | 信息传递 | Tarjen bfs/dfs(图论) | ★★★ |
2015-D1C | 斗地主 | 分情况,剪枝 | ★★★★☆ |
2015-D2A | 跳石头 | 二分答案 | ★★★ |
2015-D2B | 子串 | Dp+滚动数组 | ★★★★ |
2015-D2C | 运输计划 | Lca或线段树 | ★★★★★ |
2016-D1A | 玩具谜题 | 模拟 | ★ |
2016-D1B | 天天爱跑步 | Lca/ dfs(图论) | ★★★★ |
2016-D1C | 换教室 | 最短路(图论)/Dp | ★★★ |
2016-D2A | 组合数问题 | 杨辉三角 | ★☆ |
2016-D2B | 蚯蚓 | 单调队列 | ★★★★☆ |
2016-D2C | 愤怒的小鸟 | 状态压缩动态规划 | ★★★★★ |