自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 洛谷p8817 假期计划 题解

感觉这道题前70分最多算个黄题,但正解有点难

2026-10-05 18:40:40 416

原创 洛谷P11232 超速检测 题解

本题解按照考场思路分析,若有问题还请大佬指正

2026-10-02 23:27:25 439

原创 CSP-S 2021 廊桥分配 题解

我们希望只模拟一次全部 n 个廊桥,直接得到分配每个廊桥对应的答案。给廊桥编号1,2,3…暴力做法:枚举国内分配 i 个廊桥,国际分配n-i个廊桥,对每一个 i 都完整模拟一遍航班。暴力超时的原因:对于不同的廊桥数量,重复模拟同一批航班,大量重复运算。最后枚举所有分配方案:国内拿 i 个廊桥,国际拿n-i个廊桥,求。机场一共有 n 个廊桥,可以分配一部分给国内区,剩下给国际区。pd[x]:国内分配 x 个廊桥,可以停靠的飞机总数;pg[x]:国际分配 x 个廊桥,可以停靠的飞机总数。

2026-08-28 20:45:09 193

原创 CSP-S 2023 密码锁 题解

现在给出 n 个锁车后的状态(全部不等于正确密码)。求:有多少种 5 位密码,满足:给出的每一个状态,都可以由该密码通过恰好一次合法锁车操作得到。5 位密码锁,每一位是 0‑9 环形(9 下一个是 0)。注意:j只会找到第一个不一样的下标,要求j与j+1同时不一样,偏移相等,就满足 “相邻两位改动、偏移相同”。由于总密码空间=100000,可以暴力枚举全部候选密码。转动一对相邻拨圈,两个拨圈转动幅度完全相同。转动某 1 个拨圈任意幅度;数据范围:1<=n<=8。

2026-08-28 20:45:01 207

原创 CSP-J 2023 小苹果

n个苹果从左到右排成一列。每天操作:从第 1 个开始,每隔 2 个拿走 1 个。剩下苹果保持原顺序重新排成新序列。注意:这里的n不再是原始总苹果数,代表:原始编号为 n 的苹果,在当前这一轮序列里的位置。如果 pos%3 ==1:这个苹果就在今天被拿走,循环结束,day 就是答案。如果没有被拿走,它会留在序列中,需要计算它下一轮的新位置,继续下一天。(x+2)/3是计算今天拿走了多少个(x+2是为了向上取整)。今天要拿走的是:位置满足pos%3 =1 的苹果。新位置 = 原位置 − 前面被拿走苹果的个数。

2026-08-28 20:44:51 170

原创 洛谷 P2985 Chocolate Eating S 题解

check(x)函数:判断是否存在吃巧克力方案,保证每一天结束时幸福值都≥x,并且全部巧克力在 D 天内按顺序吃完。如果check(x)=true:说明可以做到每天最低至少 x,尝试找更大,记录方案,二分右边界:l=mid+1。如果check(x)=false:做不到,只能往小找:r=mid‑1。二分范围:l=0,r=text所有巧克力幸福总和。

2026-08-28 10:43:20 336

原创 CSP-J2024 地图探险 题解

这是一道纯模拟题,没有复杂算法,核心就是:严格照着题目描述,把机器人每一步行为翻译成代码。方向:0 东 (y+1),1 南 (x+1),2 西 (y‑1),3 北 (x‑1)如果nx,ny在边界内且是空地:就走过去,朝向不变。机器人在 n 行 m 列地图上,.空地,x障碍。否则:原地不动,向右转 d=(d+1)%4。求:所有经过过的格子总数,包含起始位置。计算向前一步的坐标nx,ny。

2026-08-28 10:43:06 590

原创 CSP-S 2022策略游戏 题解

小 L 知道 Q 会这么操作,所以小 L 遍历 A 区间里每一个元素,算出上面对应的得分,取最大值,就是这一轮答案。如果Ax<0:负数乘大数会更小 → Q 选 B 区间最大值Bmax,得分Ax。如果Ax>=0:乘积要尽量小 → Q 选 B 区间最小值Bmin,得分Ax。maxaz/minaz:A 区间正数的最大、最小。maxaf/minaf:A 区间负数的最大、最小。maxbz/minbz:B 区间正数的最大、最小。maxbf/minbf:B 区间负数的最大、最小。每次查询循环扫 A 区间、B 区间。

2026-08-27 22:08:18 318

原创 CSP-J 2022 上升点列 题解

dp[i][used+need]=max(dp[i][used+need],dp[j][used]+1)含义:原来以 j 结尾,消耗used个点;DP定义:dp[i][used]:以第 i 个原始点作为序列最后一个点,连接过程已经消耗used个新增点,序列中原始点的数量。没有用完的新增点,可以全部接在序列的末尾,继续向右 / 向上延伸,每一个新增点都贡献序列长度。序列的长度 = 原始选出来的点数量 + 我们自由添加的点数量。j 在 i 的前面,满足p[i].y >= p[j].y。横纵坐标均单调不减;

2026-08-27 22:08:00 290

原创 洛谷P2895 Meteor Shower S 题解

贝茜从坐标原点 (0,0) 开始出发,只能在横纵坐标非负的区域移动。每颗流星会在特定时刻砸向某个坐标,同时摧毁该点和它上下左右四个相邻格子。被流星在时刻 t 摧毁的格子,贝茜只能在 t 之前到达,t 及之后不能踏足。走到永远不会被流星击中的格子即为安全点,输出到达安全点耗费的最少时间,若无路可走则输出 - 1。其实还有死路一条。

2026-08-19 20:56:49 359

原创 CSP-S 2022 策略游戏 题解

给定数组A,B,矩阵C{i,j}=Ai*Bj。每轮给定 A、B 各一个区间,小 L 先选 A 区间元素,小 Q 后选 B 区间元素,L 想乘积尽可能大,Q 想乘积尽可能小,两人均最优策略,求每轮最终乘积。

2026-08-19 20:56:24 516

原创 CSP-J 2023一元二次方程 题解

给定整数系数a,b,c(a!=0)的一元二次方程ax^2+bx+c=0,判别式小于 0 输出NO。判别式大于等于 0 时输出两个实根中较大根,严格按照题目有理数、根式化简格式输出。这道题对于学生来说很无语:什么时候接一个方程都那么复杂了?

2026-08-18 19:20:43 502

原创 CSP-J 2025 多边形 题解

n<=20用二进制暴力枚举全部子集,统计满足m>=3并且sum>2*mx的子集。特判全部木棍相等,任意选≥3 根都合法,杨辉三角预处理组合数直接求和。求合法子集数目,对模数998244353取模。

2026-08-18 19:16:55 248

原创 CSP-J 2025异或和 题解

给定数组a1——an,选出若干子段[l1,r1],[l2,r2]…,要求区间互相不相交,每个区间内部异或和等于 k,求最多能选出多少个区间。其实就是区间贪心+前缀和优化。

2026-08-14 20:18:46 168

原创 CSP-J 2024 接龙 题解

n个人,每个人有自己的整数词库Si。每一轮:选一个人p,不能和上一轮的人相同;从Sp选一段连续子串A,长度2<len(A)<k。q个询问:给定rj,cj,问是否存在恰好 rj 轮,使得最后一轮的序列末尾等于 cj,输出 1/0。第r>1轮:A必须以上一轮序列的末尾数字开头。第 1 轮:A必须以1开头;

2026-08-14 19:53:22 687

原创 CSP-J 2023 旅游巴士 题解

时刻开,小 Z坐巴士进入入口的时刻必须是 k 的倍数。坐巴士离开出口时刻也必须是 k 的倍数。求最早离开出口的时刻(k 的倍数),无解输出 - 1。如果我确定了小 Z 进入景区的出发时刻 S(S一定是 k 的倍数:0,k,2k,3k…由于这道题是从一个点出发到另一个点的最短路径,所以我们可以考虑一下求最短路径的经典算法:dijkstra算法(狄杰斯特拉算法)。对每一个合法出发时间S,跑一遍 BFS,算出从S时刻出发,能到达n号点的最小到达时间。然后在所有结果里,选出最小的、且是 k 倍数的到达时间。

2026-08-13 08:29:34 266

原创 CSP-J 2024 小木棍 题解

给定n根木棍,一直每个数字需要用多少木棍,求用完木棍可以拼出的正整数最小是多少,若无法用完木棍则输出-1。

2026-08-11 20:41:37 365

原创 洛谷P1784 数独 题解

给定一个数独,求最终填好的数独。(保证有唯一解)。

2026-08-10 23:03:24 399

原创 洛谷P1219 N皇后问题题解

这是一道很好的DFS模版题,很适合新手拿来理解dfs.

2026-08-10 12:55:13 637

原创 CSP-J 2021 小熊的果篮 题解

交替,每一轮要完整扫一遍数组,总复杂度O(n^2),n=2e5 直接超时,只能拿 70 分。开 `vis [] 标记是否拿走,每轮从左扫一遍找块的起点,70 分。n 到 2e5 会 TLE,O(n^2)。原始分块:[1,2], [3,4], [5,6,7], [8], [9,10], [11,12]预处理原始数组,拆成若干块,每个块用deque存块内水果编号。例:样例输入:1 1 0 0 1 1 1 0 1 1 0 0。把当前每一个块的最左边水果拿出来,组成一个果篮输出。一排水果,1苹果,0桔子。

2026-08-08 12:01:54 682

原创 CSP-J 2022 逻辑表达式

如果遇到"(“:说明被跳过部分是带括号的子表达式,用计数器cnt,循环直接跳到匹配的右括号),整块括号内容全部跳过,内部字符完全不处理。遇到左括号,用计数器cnt跳过整个配对括号块,括号内部字符不再遍历,避免统计内部短路。如果type=1并且遇到|:&短路结束(|优先级更低),重置type=0。a & b:如果a=0,直接结果 0,不计算 b,记一次&短路。a | b:如果a=1,直接结果 1,不计算 b,记一次|短路。1,触发|短路,s2++,设置type=2进入短路跳过模式。同优先级从左向右算;

2026-08-08 11:55:11 481

原创 CSP 2023 公路、消消乐, 2024 决斗 题解

公路有 n 个站点,站点i到i+1距离vi公里。站点i油价ai元/升,只能买整数升油。1 升油跑 d 公里,油箱无限大,初始油箱为空,从 1 开到 n,求最小总花费。

2026-08-07 11:36:30 155

原创 CSP-S 2021 廊桥分配 CSP-S 2023 密码锁 CSP-J 2023 小苹果 洛谷 P2985 Chocolate Eating S 题解

求:有多少种 5 位密码,满足:给出的每一个状态,都可以由该密码通过恰好一次合法锁车操作得到。如果check(x)=true:说明可以做到每天最低至少 x,尝试找更大,记录方案,二分右边界:l=mid+1。注意:j只会找到第一个不一样的下标,要求j与j+1同时不一样,偏移相等,就满足 “相邻两位改动、偏移相同”。暴力做法:枚举国内分配 i 个廊桥,国际分配n-i个廊桥,对每一个 i 都完整模拟一遍航班。注意:这里的n不再是原始总苹果数,代表:原始编号为 n 的苹果,在当前这一轮序列里的位置。

2026-08-07 11:33:10 167

原创 洛谷 P2678题解

河道起点到终点距离 L,中间有 N 块岩石,最多可以移除 M 块岩石(起点终点不能移走)。选手只能跳向相邻岩石。求:移走至多 M 块石头之后,所有跳跃距离里最短距离的最大值。二分猜测最短跳跃距离 x。check(x):判断:是否可以移除不超过 M 块石头,使得任意相邻两块石头之间跳跃距离都≥x。把原始岩石位置,转化为相邻石头之间的间隔数组 b。经典「最大化最小值」,标准二分答案。

2026-08-06 12:02:17 221

原创 CSP-J 2020方格取数 题解

每一步只能向上、向下、向右,不能重复经过格子,不能越界。如果是从下方来(from=2),就不能再向下走,防止回头重复。不能向左走,只能向上、向下、向右。状态定义:dp[x][y][from]:在(x,y),由from方向抵达,走到终点的最大权值和。状态定义:dp[i][j]:走到第 i 行第 j 列格子,并且结束在(i,j)的最大总和。问题:n,m=1000,网格总共有 10^6个格子,DFS 搜索状态爆炸,只能过小数据。直接暴力搜索,标记 vis 访问,向上 / 下 / 右递归搜索,到达终点更新答案。

2026-08-06 07:56:12 185

原创 CSP-J 2022 解密 题解(二分版)

乍一眼一看:一道数学题再一眼:这道题可以用数学方法或二分优化查找相信有很多人都讲过数学的做法,这里我给大家提供一个二分的做法。

2026-08-05 12:42:54 477

原创 CSP-J 2021 网络连接 题解

合法地址格式强制要求:严格形如 a.b.c:d:e 拆分结构是a.b.c.d:e,必须恰好 3 个. ,1 个:;地址合法且未被之前 Server 占用 → 存入map<地址串,编号>,输出OK。地址合法且未被之前 Server 占用 → 存入map<地址串,编号>,输出OK。数值范围:0<=a,b,c,d<=255,0<=e<=65535。地址合法但已存在同地址 Server → 输出FAIL。地址合法但已存在同地址 Server → 输出FAIL。禁止多余前导零(如099、01非法,单独0合法)

2026-08-05 07:49:25 286

原创 CSP-J2021 插入排序 题解

给一坨数据给定长度为 n 的数组 a,数组下标从 1 开始,数组全部元素是非负整数。有 Q 次操作,一共两种操作。1 x v:将数组第 x 个元素修改为 v,修改永久生效,影响后续操作。2 x:假想把当前数组进行升序排序,询问原数组下标 x 对应的元素,在假想排序后的数组处于第几位。注意:排序仅用于计算答案,不会真实修改原数组。重要约束:类型 1 修改操作最多不超过 5000 次,查询最多可达2*10^5次。

2026-08-04 21:53:05 156

原创 CSP-S 2019 括号树 题解

这道题我准备按照考场上的思路从50分到100分写题解。

2026-08-04 09:59:59 328

原创 洛谷P7072 CSP-J 2020 直播获奖 题解

因为是输入一个数据就输出一个分数线,所以我们要在一个循环里做完读入,排序,计算分数线三个事。(因为每一次都要有分数线,所以y在1与i*w/100之间取最大值)(i为当前人数)由于最大数据n=10^5,普通的排序会TLE,所以可以考虑桶排序。,感觉这个作者讲的很好。

2026-08-03 15:42:02 130

原创 CSP-S2019 格雷码 题解

此处给出了2019CSP-S 格雷码的题解,请各位大佬指出不足之处,在此深表感谢

2026-08-02 13:14:18 284

原创 CSP-J2019 加工零件 题解

题目传送门如果x号工人想生产一个被加工到第 L(L>1) 阶段零件,则所有与 x 号工人有传送带直接相连的工人,都需要生产第L-1阶段零件。如果x号工人想生产一个被加工到第 1 阶段的零件,则所有与 x 号工人有传送带直接相连的工人,都需要为x号工人提供一个原材料。轩轩是 1 号工人。现在给出 q 张工单,第 i 张工单表示编号为 ai的工人想生产一个第Li阶段的零件。轩轩想知道对于每张工单,他是否需要给别人提供原材料。是输出Yes,否输出No。

2026-08-02 12:05:47 367

原创 CSP-J 2019 纪念品 题解

本文章是CSP-J 2019 纪念品的题解,作者学习后做的,如有问题,请大佬指出

2026-08-01 23:30:49 671 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除