![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
不会JAVA的运营不是好数分
这个作者很懒,什么都没留下…
展开
-
2016 D2T1 P3958 奶酪
P3958 奶酪https://www.luogu.com.cn/problem/P3958题意你要从最低点走到最高点,你必须从与下边界联通的洞孔开始走,而且每次只能走到和你所在奶酪相连通的奶酪.对于两个奶酪而言,他们的距离必须小于2×r,才被认为是相通的.距离公式如下:想法本质上是:BFS走空间迷宫首先对于一道搜索题目而言的话,我们还是有基本的三点目标目标一:方向指示数组: 对于这道题目而言,显然每一个和它相连通的洞都可以,所以这道题目的方向指示数组形同虚设.目标二:边界原创 2020-07-31 14:48:31 · 102 阅读 · 0 评论 -
04 P5663 加工零件
04 P5663 加工零件https://www.luogu.com.cn/problem/P5663题意概括n个点,m条边的无向无权图。如果某点需要零件为 LL = 1,需要该点的所有相连的点,提供原材料L > 1,需要该点的所有相连的点,提供L-1的产品固定起点1问,接下来q次访问,1是否需要提供原料。提供 - YES不- No想法一dfs+暴力 (时间复杂度太大)从询问的起点 s出发,dfs遍历到最后一个点。如果是 1号点,那么就1号点就需要提供原材原创 2020-06-26 20:49:47 · 340 阅读 · 0 评论 -
P1807 最长路 - bfs
P1807 最长路https://www.luogu.com.cn/problem/P1807题意设G为有n个顶点的带权有向无环图,G中各顶点的编号为1到n请设计算法,计算图G中 1- n 的最长路径。想法bfs图用邻接矩阵存贮d[i]记录i结点前的最长路。因此if(mp[t][i]&&d[i]<d[t]+mp[t][i])//如果从队列头到当前结点i有边,但不是最长(即此点的最长路小于队列头最长路加t-i的路径长){ //注意有重复原创 2020-06-03 08:49:59 · 638 阅读 · 1 评论 -
P1746 离开中山路 - bfs
P1746 离开中山路https://www.luogu.com.cn/problem/P1746题意一个nxn矩阵。 0 代表道路, 1代表障碍(店铺)输出起点和终点坐标,求“最短路”,最小的步数想法bfs// P1746 离开中山路// Created by majoe on 2020/5/31.//https://www.luogu.com.cn/problem/P1746#include <bits/stdc++.h>using namespace std原创 2020-06-03 08:48:10 · 363 阅读 · 0 评论 -
P1364 医院设置 - bfs
P1364 医院设置https://www.luogu.com.cn/problem/P1364题意一个树形村庄。一个节点内数字代表,村庄的人数。求把医院放到哪里。大家所走的距离最小想法BFS + 邻接表暴力枚举每一个点做为医院的,最小路径// P1364 医院设置// Created by majoe on 2020/5/31.// https://www.luogu.com.cn/problem/P1364#include <bits/stdc++.h>u原创 2020-06-03 08:46:21 · 324 阅读 · 0 评论 -
P1332 血色先锋队 - bfs
P1332 血色先锋队https://www.luogu.com.cn/problem/P1332题意给定一个 N*M 的矩阵。给出 a 个点(传染源),他们每小时会向上下左右扩展一格。给出 b 个询问,询问这些点被感染的时间。想法bfs每一个传染源加入队列中。将mp数组,填上bfs的层数。也就是最小的步数//P1332 血色先锋队// Created by majoe on 2020/5/31.//https://www.luogu.com.cn/problem/P1332原创 2020-06-03 08:44:32 · 287 阅读 · 0 评论 -
P1784 数独 - dfs
P1784 数独https://www.luogu.com.cn/problem/P1784题目描述数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家去挑战。这位数学家说,他相信只有“智慧最顶尖”的人才有可能破解这个“数独之谜”。据介绍,目前数独游戏的难度的等级原创 2020-06-02 16:04:10 · 543 阅读 · 0 评论 -
P1506 拯救oibh总部 -dfs 染色
P1506 拯救oibh总部题意一个矩阵代表。 0 代表空地, *代表围墙洪水袭来,求围墙包围后空地的数量。想法dfs + 染色将走过的地方变为2 ,围墙变为1遍历矩阵,0的地方就是尾墙包围后的 空地数量PS:需要注意,矩阵是 n x n的 。但是需要多开一圈即 n+1 x n+1。这样可以保证边界的连通性。总体思路如下图://P1506 拯救oibh总部// Created by majoe on 2020/5/30.//https://www.luogu原创 2020-06-02 16:02:31 · 249 阅读 · 0 评论 -
P1331 海战 - dfs求联通块
P1331 海战https://www.luogu.com.cn/problem/P1331题意有一个 r x c的矩阵,停放矩形的船只两个船停放,不能相邻。求不相邻的船的个数。想法DFS+染色求联通块先判断停放位置是否合适再DFS染色求联通块难点在于:判断船停放的位置是否合适。不合适,就不用dfs染色判断方法为,如果不合适一定存在这样的格式。也就是说船的部分呈现L形。# # . #或# ## .或# .# #或. ## #原创 2020-06-02 16:00:17 · 363 阅读 · 0 评论 -
P1074 靶形数独 - dfs带技巧的搜索
P1074 靶形数独题目题目理解:和数独题目类似。行列,小九宫格不能重复。有加权记分。中间的分数高。想法:加权计分。不用开数组,只用 temp += mp[i]/[j]* min(10 - abs(i - 4), 10 - abs(j - 4));for (int i = 0; i < 9; ++i) { for (int j = 0; j < 9; ++j) { temp += mp[i][j] * mi原创 2020-06-02 15:56:42 · 162 阅读 · 0 评论 -
P1036 选数 -dfs
P1036 选数https://www.luogu.com.cn/problem/P1036题意从 n 个数 中选 k个。统计 k个数之和为 素数的个数。想法dfs 全排列的思想。dfs(long long addNum,int step, int start)addNum 只当前的和step 目前有几个数相加start只遍历到第几个数了// P1036 选数// Created by majoe on 2020/5/29.//https://www.luogu.原创 2020-06-02 15:48:47 · 100 阅读 · 0 评论 -
CF629A - dfs
CF629Ahttps://www.luogu.com.cn/problem/CF629A题意n x n蛋糕,c代表是巧克力求同一行列上的能够组成的巧克力总对数。想法模拟。统计所有行列上的C的个数。用组合数C(2,n)计算组合数//// Created by majoe on 2020/5/30.//#include <bits/stdc++.h>using namespace std;int n;string s[110];int ans;int原创 2020-06-02 15:45:21 · 572 阅读 · 0 评论 -
CF6A Triangle -dfs
CF6A Triangle -dfs题意有4个棍子问 其中三个能否组合成 三角形。如果能组成那么,输出TRIANGLE如果不能组成,但是任意两边之和 >= 第三边 输出SEGMENT如果完全不能组成,输出 IMPOSSIBLE想法dfs+排列(先排序.保证,得到三条边顺序也是从小到大)dfs(int start ,int step)start是当前开始的序号step是当前有几条边了判断三角形的条件如下:b已经是排序好了的if(b[0]+b[1]&原创 2020-06-02 15:43:43 · 236 阅读 · 0 评论 -
P2802 回家-可以回头dfs
P2802 回家-可以回头dfshttps://www.luogu.com.cn/problem/P2802题意有一个棋盘。数字不同代表的东西不同。求从起点到终点的最小步数。初始一共5点生命。遇到鼠标之后,HP加满,但还是需要消耗一点生命。需要注意的是利用dfs的话,是可以走回头路的。所以不需要vis数据但是为了避免进入死循环,需要将步数做一定限制,例如超过了 n*m之后就返回 // // Created by majoe on 2020/5/30. // “最短路”最原创 2020-06-02 15:42:33 · 288 阅读 · 0 评论 -
DFS和BFS 原理探究和比较
深度优先搜索和宽度优先搜索bfs和dfs都是遍历图的方法。说明:bfs只能做权重为1或者相同的 “最短路”空间上dfs 复杂度为最大深度 h。这也是stack最大容量。bfs 复杂度为 2^h。因为满二叉树 最下面一层为 2^(h-1)个节点。 这是个queue最大容量。bfs——广度优先算法(暴搜)适合解决最小步数问题。(bfs只能做权重为1或者相同的 “最短路”)比dfs用时间更短。dfs是穷举。到一个点需要3步,那么bfs会在第三层就找到。算法思路原创 2020-06-02 11:01:34 · 879 阅读 · 0 评论