前言
可以说2010-2011是一个分界线,不但题目数量从4道变成了6道,而且在考察知识的侧重点也发生了一定变化。在2010及之前难题有一部分集中在搜索+剪枝算法中(如:传染病控制,靶形数独,虫食算),还有少量集中在数据结构上;NOIP2010之后难题开始集中在数据结构,而且数学类题几乎每年都有,同时题目描述,样例数据,测试数据也更加完善。可以看见NOIP正日渐趋于成熟,难度也在逐年增大。
对于NOIP2001-NOIP2010的题,下面提供一个表,让读者大致了解考察知识及难度,其中难度分为算法难度,实现难度。算法难度是指想出解决这道题的算法的难度,实现难度是指用代码将算法实现的难度,难度用 ★ 表示,★ 越多难度越大,☆表示半个★,对于标※的题,是比较好的,建议大家尝试一下,而且对于某些题,还要给出注意事项和分析等。
NOIP2001:
T1:一元三次方程求解
考察知识:二分,枚举
算法难度:★★ 实现难度★★☆
T2:数的划分
考察知识:搜索+剪枝
算法难度:★★☆ 实现难度:★★
※T3:统计单词个数
考察知识:动态规划,字符串基本操作
算法难度:★★★ 实现难度:★★★
提示:序列型动态规划
※T4:car的旅行路线
考察知识:图的最短路,计算几何
算法难度:★★★☆ 实现难度:★★★☆
注意事项:细节有点多,要细致
NOIP2002:
T1:均分纸牌
考察知识:贪心,模拟
算法难度:★★☆ 实现难度:★★
说明:有多种方法
※T2:字串变换
考察知识:bfs,双端搜索,模拟
算法难度:★★★ 实现难度:★★★☆
点评:一道bfs的好题
T3:自由落体
考察知识:数学,枚举
算法难度:★★★ 实现难度:★★☆
※T4:矩形覆盖
考察知识:枚举,分治,计算几何,搜索
算法难度:★★★★ 实现难度:★★★★
分析:一种方法是分类讨论+分治,具体解法见:
https://blog.youkuaiyun.com/hi_ker/article/details/81332367
NOIP2003:
※T1:神经网络
考察知识:图的基本知识
算法难度:★★☆ 实现难度:★★★
注意事项:不难,但是很难一次就满分,一定要正确理解题意,这道题坑点在细节上
※T2:侦探推理
考察知识:推理,字符串处理,枚举
算法难度:★★★☆ 实现难度:★★★☆
说明:需要吃透题意+自己的推理,涉及知识多,有一定难度,建议一试
T3:加分二叉树
考察知识:动态规划,二叉树的遍历
算法难度:★★☆ 实现难度:★★☆
※T4:
考察知识:树的基本知识,枚举+剪枝
算法难度:★★★☆ 实现难度:★★★☆
NOIP2004:
T1:津津的储蓄计划
考察知识:模拟
算法难度:★ 实现难度:★
T2:合并果子
考察知识:二叉堆,队列,模拟,贪心,排序
算法难度:★★ 实现难度:★★
分析:有一种O(nlogn)的算法,是用两个队列实现的,只要开始排序一次,接下来就是模拟n-1次就可以了,请思考
T3:合唱队型
考察知识:序列型动态规划
算法难度:★★ 实现难度:★★
※T4:虫食算
考察知识:搜索+剪枝,数论,进制
算法难度:★★★☆实现难度:★★★★
提示:如果用搜索,剪枝的强度决定你的分数
NOIP2005:
T1:谁拿了最多的奖学金
考察知识:模拟,条件语句
算法难度:★实现难度:★☆
T2:过河
考察知识:动态规划
算法难度:★★★ 实现难度:★★★
提示:输入的数据并不一定是有序的
※T3:篝火晚会
考察知识:模拟
算法难度:★★★★ 实现难度:★★★
※T4:等价表达式
考察知识:栈,字符串处理,表达式运算
算法难度:★★★☆ 实现难度:★★★★
说明:多次赋值验证的方法比化简表达式再比较简单
NOIP2006:
T1:能量项链
考察知识:区间型动态规划
算法难度:★★★ 实现难度:★★☆
T2:金明的预算方案
考察知识:子集型动态规划
算法难度:★★★ 实现难度:★★★
T3:作业调度方案
考察知识:模拟
算法难度:★★ 实现难度:★★★
※T4:2^k进制数
考察知识:递推,高精度,排列组合求值
算法难度:★★★☆ 实现难度:★★★★
提示:与杨辉三角形有关
NOIP2007:
T1:统计数字
考察知识:排序,map基本知识
算法难度:★★ 实现难度:★★
T2:字符串的展开
考察知识:字符串
算法难度:★★☆ 实现难度:★★★
提示:细节比较多
T3:矩阵取数游戏
考察知识:动态规划,高精度
算法难度:★★★ 实现难度:★★★
※T4:树网的核
考察知识:树的直径,枚举
算法难度:★★★☆ 实现难度:★★★☆
NOIP2008:
T1:笨小猴
考察知识:素数判定,字符串
算法难度:★★ 实现难度:★★
T2:火柴棒等式
考察知识:枚举
算法难度:★★★ 实现难度:★★☆
提示:可以打表
※T3:传纸条
考察知识:动态规划
算法难度:★★★☆ 实现难度:★★★☆
※T4:双栈排序
考察知识:搜索,贪心,模拟,图
算法难度:★★★★ 实现难度:★★★☆
说明:方法比较多
NOIP2009:
T1:潜伏者
考察知识:模拟,map
算法难度:★★ 实现难度:★★
※T2:Hankson趣味题
考察知识:数论,枚举
算法难度:★★★ 实现难度:★★
※T3:最优贸易
考察知识:图,spfa算法
算法难度:★★★☆ 实现难度:★★★
一种有点小题大做的方法:tarjan缩点,然后DAG动态规划
※T4:靶形数独
考察知识:搜索+剪枝
算法难度:★★★☆ 实现难度:★★★★
分析:这道题得分不难,得满分不容易,还有一种方法叫舞蹈链
NOIP2010:
T1:机器翻译
考察知识:队列,模拟
算法难度:★★ 实现难度:★★
T2:乌龟棋
考察知识:动态规划
算法难度:★★★ 实现难度:★★
分析:把状态方程设对了就简单了
※T3:关押罪犯
考察知识:二分图,二分
算法难度:★★★☆ 实现难度:★★★
※T4:引水入城
考察知识:动态规划,搜索
算法难度:★★★★ 实现难度:★★★☆