Contents

布丁推荐的CSP-J题单

前言

以下的题目很多都是真题(有CSP或者NOIP标识的),我全部点开看过,简单想了想做法,然后按照获得70分的做法的实现难度分类。

如何理解题目的难度

洛谷上标注的题目的难度是针对获得100分的做法进行评价的,但事实上我们并不需要每道题都获得100分。题目分为很多不同的数据点,包括不同的数据范围还有特殊限制。举个例子:

第一道题,可能它的60分的做法是 $O(n^2)$ 的,写两个嵌套for循环暴力模拟就可以通过。

第二道题,可能它的30分的做法是有特殊条件的,利用这个特殊条件可以利用贪心的策略极度简化这个题目。

第三道题,可能它的10分的做法是 $O(2^n)$ 的,写一个DFS搜索一下各种情况就可以拿到 。

在熟练掌握基础的算法之后,在这套卷子的组合中拿到100分就是很简单的事情。

如何分配自己的时间

因为这个比赛是有部分分的,我们没必要每道题非要做到100分,我们的目标是在最短的时间内拿到性价比最高的分数。举个例子:

第一道题,可能它的60分的做法只需要30分钟,而100分的做法需要写2小时。

第二道题,可能它的30分的做法只需要1小时,而60分的做法需要写3个小时。

第三道题,可能它的10分的做法只需要15分钟,剩下的完全看不懂。

那么我们的策略应该是,**先用1小时做第一道题,然后用1小时做第二道题,最后花15分去特殊处理掉第三道题。**如果还有时间的话我们再回过头去想第一道题的做法。

在J组的考试中,限时3.5小时,不考虑那个白送的入门级送分题,我们按照上面的策略,可以用1小时45分钟拿到额外的100分,已经可以稳拿强省的二等奖了。

如何衡量自己的水平

每道题考察的知识点是不一样的,你掌握的知识点的熟练程度也是不一样的。对于你熟悉的知识点,你可能15分钟就做完了,对于你不熟悉的知识点,你可能90分钟才能做完。下面这些难度的分级都是假设大家都已经足够熟练以后,通过这道题的平均时间来排列的。通过计时,我们可以发现自己相对于同水平的选手的长处和短处在哪里,然后针对性加强自己的短处。

不要因为一两道简单题做不出来就焦虑,也不要因为做出一两道难题而骄傲。

正文

红题(入门)

以下都是入门题,需要全部做对,建议尽量少花费时间。

目标是强省J组三等奖,则平均每道题花费40分钟

目标是强省J组二等奖,则平均每道题花费20分钟

目标是强省J组一等奖/强省S组二等奖,则平均每道题花费10分钟

红题 Level 1

模拟、循环:B2064 斐波那契数列

输入输出、数组:B2058 奥运奖牌计数

模拟、二维数组:P1830 轰炸III

模拟、循环:B2153 求阶乘的和

模拟:P5660 [CSP-J2019] 数字游戏

红题 Level 2

质数、枚举:P1304 哥德巴赫猜想

整除、枚举:P1151 子数整数

试除法、质数(完全平方数才有奇数个因子):P1876 开灯

麻烦的模拟:P2084 进制转换

模拟、处理溢出:P8813 [CSP-J 2022] 乘方

红题 Level3

模拟、贪心:P7071 [CSP-J2020] 优秀的拆分

模拟:P11227 [CSP-J 2024] 扑克牌

橙题(普及-)

解释:弱省的奖项等级自动升一级。

目标是强省J组三等奖,则在每道题花费3小时的前提下,Level 12平均做到5070分,,Level 34平均做到2040分。

目标是强省J组二等奖,则在每道题花费1.5小时的前提下,Level 12全部做对,Level 34平均做到50~70分。

目标是强省J组一等奖/强省S组二等奖,则在每道题花费30分钟的前提下,Level 12全部做对,Level 34平均做到80~100分。

橙题 Level 1

模拟:P1996 约瑟夫问题

模拟:P3955 [NOIP 2017 普及组] 图书管理员

模拟:P1328 [NOIP 2014 提高组] 生活大爆炸版石头剪刀布

枚举:P2038 [NOIP 2014 提高组] 无线网络发射器选址

模拟:P2118 [NOIP 2014 普及组] 比例简化

橙题 Level 2

麻烦的模拟:P1017 [NOIP 2000 提高组] 进制转换

麻烦的模拟:P1014 [NOIP 1999 普及组] Cantor 表

贪心:P1094 [NOIP 2007 普及组] 纪念品分组

多关键字排序:P1093 [NOIP 2007 普及组] 奖学金

枚举:P2010 [NOIP 2016 普及组] 回文日期

找规律、模拟:P9748 [CSP-J 2023] 小苹果

找规律、递归:P5657 [CSP-S2019] 格雷码

橙题 Level 3

非常麻烦的模拟:P1068 [NOIP 2009 普及组] 分数线划定

非常麻烦的模拟:P7072 [CSP-J2020] 直播获奖

动态规划、贪心:P1115 最大子段和

贪心、处理小数:P9749 [CSP-J 2023] 公路

格子图、搜索或模拟:P11228 [CSP-J 2024] 地图探险

搜索、动态规划:P1086 [NOIP 2004 普及组] 花生采摘

DFS、搜索、树的存储:P1030 [NOIP 2001 普及组] 求先序排列

DFS、搜索、组合型枚举:P1036 [NOIP 2002 普及组] 选数

二分:P1024 [NOIP 2001 提高组] 一元三次方程求解

背包:P1060 [NOIP 2006 普及组] 开心的金明

DFS、搜索、递归:P1087 [NOIP 2004 普及组] FBI 树

读题、模拟:P9752 [CSP-S 2023] 密码锁

橙题 Level 4

非常非常麻烦的模拟:P1098 [NOIP 2007 提高组] 字符串的展开

找规律、特判、数学、二分:P8814 [CSP-J 2022] 解密

BFS:P5690 [CSP-S2019 江西] 日期

栈、表达式求值(可能现在已经不考):P1981 [NOIP 2013 普及组] 表达式求值

DFS、搜索:P1149 [NOIP 2008 提高组] 火柴棒等式

贪心:P11231 [CSP-S 2024] 决斗

黄题(普及/提高-)

解释:弱省的奖项等级自动升一级。

目标是强省J组三等奖,则不用看。

目标是强省J组二等奖,则在每道题花费45分钟的前提下,Level 12平均做到3050分,,Level 34平均做到020分。

目标是强省J组一等奖/强省S组二等奖,则在每道题花费1.5小时的前提下,Level 12平均做到6080分,,Level 34平均做到2050分。

黄题 Level 0

这几道题不知道为什么是黄题,难度应该降级。

哈夫曼编码:P1090 [NOIP 2004 提高组] 合并果子

简单模拟:P2239 [NOIP 2014 普及组] 螺旋矩阵

黄题 Level 1

贪心、动态规划:P2196 [NOIP 1996 提高组] 挖地雷

找规律、贪心:P11229 [CSP-J 2024] 小木棍

黄题 Level 2

模拟:P2661 [NOIP 2015 提高组] 信息传递

模拟、差分:P5019 [NOIP 2018 提高组] 铺设道路

连通性、几何(可以搜索):P3958 [NOIP 2017 提高组] 奶酪

DFS、搜索:P1025 [NOIP 2001 提高组] 数的划分

二分、贪心:P4058 [Code+#1] 木材

二分、贪心:P2440 木材加工

二分、贪心:P1843 奶牛晒衣服

二分、贪心:P3853 [TJOI2007] 路标设置

黄题 Level 3

模拟、取模:P5686 [CSP-S2019 江西] 和积和

最短路、取模:P1351 [NOIP 2014 提高组] 联合权值

阅读题目、模拟:P7910 [CSP-J 2021] 插入排序

二分、三分:P11854 [CSP-J2022 山东] 宴会

绿题(普及+/提高)

解释:弱省的奖项等级自动升一级。

目标是强省J组三等奖,则不用看。

目标是强省J组二等奖,则在每道题花费40分钟的前提下,平均做到0~15分。

目标是强省J组一等奖/强省S组二等奖,则在每道题花费20分钟的前提下,平均做到015分;在每道题花费1小时的前提下,则平均做到2060分。

目标是强省S组一等奖,则需要去完整学习S组的知识点,因为只靠J组学习的知识不足以在S组中获得一等奖。

注意:不管你是否在强省,你都没有必要在目标为J组一等奖的情况下,在考试期间考虑绿题超过70分的做法。

绿题

搜索、动态规划:P3956 [NOIP 2017 普及组] 棋盘

BFS、最短路、图论:P5663 [CSP-J2019] 加工零件

哈夫曼编码:P6033 [NOIP 2004 提高组] 合并果子 加强版

模拟、数据结构、链表、并查集:P7912 [CSP-J 2021] 小熊的果篮

模拟、特判、栈、表达式求值(可能现在已经不考):P8815 [CSP-J 2022] 逻辑表达式

读题、模拟、特判、二分:P7075 [CSP-S2020] 儒略日