1 说明
普及组选手可冲刺训练,提高组选手亦可在此巩固基础。
2 简单的模拟
开始普及组的训练!所谓模拟,就是直接根据题意编写,思维难度简单。
- luogu P1003: [NOIP 2011 提高组] 铺地毯
- luogu P1067: [NOIP 2009 普及组] 多项式输出
- luogu P1540: [NOIP 2010 提高组] 机器翻译
- luogu P1056: [NOIP 2008 普及组] 排座椅
- luogu P1328: [NOIP 2014 提高组] 生活大爆炸版石头剪刀布
- luogu P1563: [NOIP 2016 提高组] 玩具谜题
3 交叉模拟
这里也是模拟,但是会混有些别的部分。思维难度不大,但是编写起来会有些难度。
- luogu P1023: [NOIP 2000 普及组] 税收与补贴问题
- luogu P1031
- luogu P1042: [NOIP 2003 普及组] 乒乓球
- luogu P1086
- luogu P1098: [NOIP 2007 提高组] 字符串的展开
- luogu P3952: [NOIP 2017 提高组] 时间复杂度
4 排序
将杂乱无章的数据变得有规律。有各种各样的排序算法,看情况使用。
- luogu P1177: 【模板】排序
- luogu P1059: [NOIP 2006 普及组] 明明的随机数
- luogu P1068: [NOIP 2009 普及组] 分数线划定
- luogu P1781: 宇宙总统
5 排序Ex
这里的排序就更上一层了。不仅融合了别的算法与技巧,排序本身也有各种花招。
6 字符串处理
这里的字符串处理还会变得更加的有意思,难度也更大。需要好好地思考一下。
7 贪心
贪心就是只考虑眼前的利益。对于我们人生来说太贪是不好的,不过oi中,有时是对的。
- luogu P1090: [NOIP 2004 提高组] 合并果子
- luogu P1181
- luogu P1208: [USACO1.3] 混合牛奶 Mixing Milk
- luogu P1223: 排队接水
- luogu P1094: [NOIP 2007 普及组] 纪念品分组
- luogu P1803: 凌乱的yyy / 线段覆盖
- luogu P1031
- luogu P1080: [NOIP 2012 提高组] 国王游戏
8 深度优先搜索
搜索可以穷举各种情况。很多题目都可以用搜索完成。就算不能,搜索也是骗分神器。
- luogu P1219: [USACO1.5] 八皇后 Checker Challenge
- luogu P1019: [NOIP 2000 提高组] 单词接龙(疑似错题)
- luogu P1101: 单词方阵
- luogu P1605: 迷宫
- luogu P1040: [NOIP 2003 提高组] 加分二叉树
- luogu P1092: [NOIP 2004 提高组] 虫食算
9 广度优先搜索
广度优先搜索可以用来找有关“最短步数”的问题。嗯,也可以用来“地毯式搜索”。
- luogu P1162: 填涂颜色
- luogu P1032: [NOIP 2002 提高组] 字串变换(疑似错题)
- luogu P1141: 01迷宫
- luogu P1126: [CERC1996] 机器人搬重物
- luogu P1443: 马的遍历
10 带有技巧的搜索
这里的搜索不仅包含了dfs和bfs,还包括剪枝、记录等技巧以加快速度。
11 分治算法
将大问题拆分为小问题,分而治之,各个击破,然后在合并回来。
12 简单数学问题
用计算机解决某些麻烦数学问题,再合适不过了。这真是绝妙的搭配啊!
- luogu P1088: [NOIP 2004 普及组] 火星人
- luogu P1045: [NOIP 2003 普及组] 麦森数
- luogu P1403: [AHOI2005] 约数研究
- luogu P1017: [NOIP 2000 提高组] 进制转换
- luogu P1147: 连续正整数和
- luogu P1029: [NOIP 2001 普及组] 最大公约数和最小公倍数问题
13 递推与递归二分
递推,层层递进,由基础推向顶层。二分不仅可以用来查找数据,还可以确定最合适的值。
- luogu P1192
- luogu P1025: [NOIP 2001 提高组] 数的划分
- luogu P1057: [NOIP 2008 普及组] 传球游戏
- luogu P1135: 奇怪的电梯
- luogu P1216: [IOI 1994 / USACO1.5] 数字三角形 Number Triangles
- luogu P1182: 数列分段 Section II
14 线性数据结构
数组,链表,队列,栈,都是线性结构。巧用这些结构可以做出不少方便的事情。
15 树形数据结构
由一个根节点分叉,越分越多,就成了树。树可以表示数据之间的从属关系
- luogu P1087: [NOIP 2004 普及组] FBI 树
- luogu P1030: [NOIP 2001 普及组] 求先序排列
- luogu P1305: 新二叉树
- luogu P5018: [NOIP 2018 普及组] 对称二叉树
16 背包问题
这是最基础的动态规划。不过如果是第一次接触会有些难以理解。加油闯过这个坎。
- luogu P1060: [NOIP 2006 普及组] 开心的金明
- luogu P1164: 小 A 点菜
- luogu P1064: [NOIP 2006 提高组] 金明的预算方案
- luogu P1048: [NOIP 2005 普及组] 采药
- luogu P1049: [NOIP 2001 普及组] 装箱问题
- luogu P1616: 疯狂的采药
17 线性动态规划
这也是基础的动态规划。是在线性结构上面的动态规划,一定要掌握。
- luogu P1020: [NOIP 1999 提高组] 导弹拦截
- luogu P1091
- luogu P1280
- luogu P1880: [NOI1995] 石子合并
- luogu P1140: [ICPC 2001 Taejon R] 相似基因
- luogu P1282
18 多维动态规划
这里的动态规划就不止一维了。不仅要小心时间复杂度,也要注意空间复杂度。
19 动规与记忆化
这边的题目有各种搞法。当然有的题目也可以使用记忆化搜索来降低思维难度。
- luogu P1064: [NOIP 2006 提高组] 金明的预算方案
- luogu P1541
- luogu P1026
- luogu P1063: [NOIP 2006 提高组] 能量项链
- luogu P1156: [USACO01OPEN] 垃圾陷阱
- luogu P1052
20 高精度算法
就算是long long(或int64)还不够怎么办?用高精度算法。自己动手丰衣足食。
21 贪心Pro
虽然是贪心题,可能不是你当时你虐着玩的贪心惹qwq
- luogu P1080: [NOIP 2012 提高组] 国王游戏
- luogu P1031
- luogu P1233: [ICPC 2001 Taejon R] 木棍加工
- luogu P2123: 皇后游戏
22 简单数论
数学和OI是密切相关的,数学不仅是OI的基础,而且是算法的核心。
23 BOSS战-普及综合练习1
好不容易闯到这一关,你那还等什么呢?抄起家伙赶快上啊!
- luogu P1478: 陶陶摘苹果(升级版)
- luogu P1203: [IOI 1993 / USACO1.1] 坏掉的项链 Broken Necklace
- luogu P1363: 幻象迷宫
- luogu P1736
24 BOSS战-普及综合练习2
来搞定第二个BOSS。虽然战斗艰难,但你一定没有问题。
25 BOSS战-普及综合练习3
普及练习场的大BOSS:“一定让你有去无回”。怎么办呢?只能打倒他开启下一个级别!
- luogu P1328: [NOIP 2014 提高组] 生活大爆炸版石头剪刀布
- luogu P1062
- luogu P1969: [NOIP 2013 提高组] 积木大赛
- luogu P1037: [NOIP 2002 普及组] 产生数
26 普及常见模板
这里集中了比较基础的算法的模板。提高和省选也有模板题哦!
- luogu P1177: 【模板】排序
- luogu P3366: 【模板】最小生成树
- luogu P3367: 【模板】并查集
- luogu P3371: 【模板】单源最短路径(弱化版)
- luogu P3383: 【模板】线性筛素数
27 相关题解
暂无相关题解