随笔分类 - 洛谷官方题单
摘要:原题链接:https://www.luogu.com.cn/problem/P1101 题意解读:对于方阵中的每一个字符,在8个方向上判断是否和"yizhong"匹配,是一个递归问题。 解题思路: 用char a[N][N]存储所有字符方阵,用bool b[N][N]标记每个字符是否在任一方向上和y
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1019 题意解读:要计算接龙能得到的最长字符串,可以通过DFS暴搜所有可能的接龙方案 解题思路: DFS的关键在于两个判断: 1、下一个单词是否可以和上一个单词接龙,最短公共长度是多少(只需要看两个单词的最短公共长度,这
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1605 题意解读:从起点走到终点的方案数,DFS可遍历所有情况。 解题思路: 在DFS过程中,有两种标记 墙:不能访问 已访问过的,不能重复访问 定义数组int a[N][N]表示迷宫,1是墙或者已访问过的,0是可以通过
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1433 题意解读:计算经过所有奶酪一次的总路径最短,可以采用dfs、dp等方法。 解题思路: 最直接的思路是DFS,暴搜所有的路径方案,计算最小距离,n最大是15,复杂度为15!≈10^12,必定会超时,先保证正确性,得
阅读全文
摘要:解题思路参考:https://www.cnblogs.com/jcwy/p/18003130 这里给出DFS方法的代码。 100分代码: #include <bits/stdc++.h> using namespace std; int s[15], k[15], v[15], n; int ans
阅读全文
摘要:参考:https://www.cnblogs.com/jcwy/p/17999205 的方法二
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2895 题意解读:所谓安全格子,就是在所有流星坠落之后,没有被烧焦的格子,要计算从起点到这些格子任一一个的最短路径,BFS可以解决。 解题思路: 1、读取数据,先把所有流星坠落点以及周围被烧焦的格子进行标记,得到安全格子
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1135 题意解读:计算A到B至少要按几次电梯,本质上就是求A到B的最短路径,可以通过BFS解决。 解题思路: 位于每一层,有两种选择:向上、向下 BFS搜索直接从A找到B,每扩展一层,层数+1,层数即按电梯次数 100分
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1443 题意解读: 无论是国际象棋还是中国象棋,马的活动范围都是一样的: 只不过国际象棋棋子是在格子中,中国象棋棋子是在交点,坐标的变化方式是一样的,根据此活动范围,计算马到达每一个点的最短路径。 解题思路: 根据马的活
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2392 解题思路:参考https://www.cnblogs.com/jcwy/p/18003097 前面已经给出了二进制法的代码,这里给出DFS的代码 简化一下逻辑:只需要枚举子集和,然后计算剩下元素和,取较大那一组的
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1219 题意解读:八皇后,经典回溯问题。 解题思路: 逐行摆放棋子,关键在于如何快速判断行、列、正斜(左上到右下)、反斜(右上到左下)方向有没有已放其他棋子 1、由于逐行摆放,因此行不需要判断 通过一个bool col[
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P3743 题意解读:设备使用的时间越久,需要充电的总时间也越多,具备单调性,根据使用的时间,计算需要充电的时间,如果充电总时间<=使用的时间,说明有电量还能富余,使用时间还可以更多,因此只需对使用时间进行二分即可。 解题思
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1163 题意解读:利率越小,贷款期限和每个月还的钱固定的情况下,越有可能能够还完全部的贷款,具备单调性,因此给定贷款利率、贷款月数、每月还款钱数,可以计算最终贷款还剩下多少,有两种情况:>=0,说明利率可能大了,要试探更
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1182 题意解读:每段和的最大值越小,则分段数就越多,因此可以通过给定每段和的最大值,将分段数划分为两类:<=M,>M,对每段和的最大值进行二分即可。 解题思路: 二分的判定条件为,给定每段和的最大值,计算分段数,计算逻
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P3853 题意解读:相邻路标的最大距离即空旷指数,空旷指数越小,用的路标越多,因此可以根据空旷指数将使用路标情况分成两类:路标数<=K,路标数>K,对空旷指数进行二分即可。 解题思路: 二分的判定条件为, 给定空旷指数,计
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2678 题意解读:最短跳跃距离越大,要移走的石头就越多,因此可以根据最短跳跃距离的不同把情况分为两类:移走的石头数<=M、移走的石头数>M,对最短跳跃距离二分即可。 解题思路: 二分的判定条件如下: 对于给定最短跳跃距离
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2440 题意解读:切出来的长度越短,则段数越多,因此切出来的长度可以把情况分成两类:段数大于等于k、段数小于k,可以通过二分长度来解决。 解题思路: 二分的关键在于判定条件,此题就是对二分到的长度计算可以切割的段数,如果
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1678 题意解读:要计算不满意度之和的最小值,就要保证每个人的不满意度最小,即选择的学校录取分数-学生分数之差的绝对值最小。 解题思路: 如何在学校录取分数中找与学生分数最接近的呢?有三种可能: 1、学生分数在录取分数中
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1024 题意解读:方程在-100~100范围内有三个根,则必然存在两个数l<r,使得f(-100) * f(l)<0,f(l)*f(r)<0,f(r)*f(100)<0 解题思路: 设方程的三个根是x1、x2、x3,l在
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1873 题意解读:要求伐木机锯片最大是多少时,至少能得到M米的木材,伐木机锯片越大,能得到的木材越少。 解题思路: 根据题意,下列判定条件可以把锯片长度分为两类: 1、得到木材长度小于M米(锯片不符合要求:false)
阅读全文
浙公网安备 33010602011771号