dfs bfs

搜索学习笔记+杂题 (基础一 简单的dfs+bfs)

搜索杂题: 一、基础的BFS与DFS: 深搜和广搜都可以遍历出在一定限制下可能出现的所有情况,但是朴素的搜索一般复杂度极高,成指数级别,需要用到各种五花八门的优化方式,后面会一一介绍,但基础很重要,几乎不用考虑优化,直接模拟题意就可以了。这篇博文讲的是习题ing。 深搜一般处理有分支的情况,广搜一般 ......
基础 笔记 dfs bfs

lc -- 第 121 场双周赛(bfs, 数位dp, python3, go)

简单模拟 class Solution: def missingInteger(self, nums: List[int]) -> int: res = nums[0] for i in range(1, len(nums)): if nums[i] == nums[i - 1] + 1: res ......
数位 python3 python 121 bfs

深度优先搜索(DFS)和广度优先搜索(BFS)

深度优先搜索(DFS)和广度优先搜索(BFS),都是图形搜索算法,相似又却不同,在应用上也被用到不同的地方。 一、深度优先搜索(DFS) 深度优先搜索属于图算法的一种,是一个针对图和树的遍历算法,英文缩写为DFS即Depth First Search。深度优先搜索是图论中的经典算法,利用深度优先搜索 ......
广度 深度 DFS BFS

LOJ-3033/QOJ-4896/南外集训 2023.12.26 T3 Alice、Bob 与 DFS

恶魔的低语,会送来天堂的福音。 题意 有一个 \(n\) 个点的有向无环图,第 \(i\)(\(1 \le i \le n\))个点有 mi 条有序的出边 \(e_{i,1}, e_{i,2}, . . . , e_{i,m_i}\)。每个点要么是黑点,要么是白点。有 \(k\) 个程序,第 \(i ......
Alice 3033 2023 4896 LOJ

算法复习 DFS两题

全排列 模版题 AcWing 842. 排列数字 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <algorithm> #include <iostream> #include <st ......
算法 DFS

P9669 [ICPC2022 Jinan R] DFS Order 2 题解

Description P 哥有一棵树,根节点是 \(1\),总共有 \(n\) 个节点,从 \(1\) 到 \(n\) 编号。 他想从根节点开始进行深度优先搜索。他想知道对于每个节点 \(v\),在深度优先搜索中,它出现在第 \(j\) 个位置的方式有多少种。深度优先搜索的顺序是在搜索过程中访问节 ......
题解 P9669 Jinan Order 9669

BFS-走迷宫

1. 题目 简单概述:走迷宫问题,行走的方向是上下左右。这个迷宫内有些格子不能走,想要从迷宫的左上角走到右下角,最少移动次数。这道题属于最短路问题(求出到达一个点的最短路径)。 思路分析 为什么使用BFS求到的答案能保证是最短的路径? 因为BFS是逐层搜索的,能把当前层的所有可能值包括进来,每一层的 ......
迷宫 BFS

图(树)的广度优先遍历bfs

图的广度优先遍历 广度优先遍历,就是在遍历时优先考虑遍历的广度,不像深度优先那样一条路径遍历到底,而是一层一层的遍历。 由于广度优先是一层一层节点的遍历,在图的边权值都为1的情况下,若我们要求出节点a到节点b的最短路,就可以以a为源点(source)进行广搜,当a第一次搜到b时,其路径一定最短。因为 ......
广度 bfs

图(树)的深度优先遍历dfs

图的深度优先遍历 深度优先,即对于一个图或者树来说,在遍历时优先考虑图或者树的单一路径的深度。示意图如下 即深度优先搜索的核心就是对一个路径一直向下搜索,当搜索到头时就回溯到前一状态再寻找别的路 深搜问题一般有两种情况,一种是搜索时元素只能用有限次,这需要我们定义一个全局标记数组来对已经使用的数字进 ......
深度 dfs

BFS模板

#class Solution: # def BFS(self, start, target): # q = [] # 用一个列表做队列 # v = [] # 记录走过的路 # q.append(start) # 把起点放入队列 # v.append(start) #加入走过的路 # step = ......
模板 BFS

[LeetCode22-中等-DFS] 括号生成

这道题考使用回溯(递归的一种)进行深度优先算法,题目是这样的 数字n代表生产括号的对数,写一个算法,返回所有有效的括号组合 比如 n =1 代表生成1对括号,显然答案就是 “()" n = 2, 代表生成2对括号, 答案就是"()()","(())" n=3 代表生成3对括号,答案就是 "((()) ......
括号 LeetCode DFS 22

2023秋季专题训练四(BFS2)

问题 D: 迷宫 注意行列的坑点即可,可以多开一维来判断方向 优先枚举转向少的,因为转向越少越可能达到 点击查看代码 int vis[110][110][5];//第三表示方向 0向上 1向右 2向下 3向左 char st[110][110];//存图,注意坑点:行列反过来 struct node ......
专题 2023 BFS2 BFS

力扣2477. 到达首都的最少油耗(dfs+贪心)

给你一棵 n 个节点的树(一个无向、连通、无环图),每个节点表示一个城市,编号从 0 到 n - 1 ,且恰好有 n - 1 条路。0 是首都。给你一个二维整数数组 roads ,其中 roads[i] = [ai, bi] ,表示城市 ai 和 bi 之间有一条 双向路 。 每个城市里有一个代表, ......
油耗 首都 2477 dfs

力扣1038. 从二叉搜索树到更大和树(dfs)

给定一个二叉搜索树 root (BST),请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。 提醒一下, 二叉搜索树 满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左右子树也必须是二叉搜索树。 示例 1: 输入:[4,1 ......
1038 dfs

start-dfs.sh启动hadoop,jps没显示

查看当前系统的名称 [root@master dfs]# cat /etc/hosts 192.168.128.78 hadoop01 查看core-site.xml <property> <name>fs.defaultFS</name> <value>hdfs://hadoop01:9000</ ......
start-dfs hadoop start dfs jps

广度优先搜索(BFS)

一、广搜介绍 广度优先搜索是一种暴力算法,通过遍历一整张图来找寻结果。一般是使用队列来实现 1.原理 首先我们将根节点加入队列,然后遍历这个节点的全部方向,如果有满足条件的节点出现,就将其加入队列。 在全部方向遍历完之后,我们将遍历的节点出队列。然后接着重复上述的操作,直到队列为空,也就代表着图遍历 ......
广度 BFS

1027. 最优账单平衡(待完善)-dfs

题目描述 一群朋友在度假期间会相互借钱。比如说,小爱同学支付了小新同学的午餐共计 10 美元。如果小明同学支付了小爱同学的出租车钱共计 5 美元。我们可以用一个三元组 (x, y, z) 表示一次交易,表示 x 借给 y 共计 z 美元。用 0, 1, 2 表示小爱同学、小新同学和小明同学(0, 1 ......
账单 1027 dfs

【DFS深度优先遍历】给定一个数组,从第一个开始,正好走到数组最后,所使用的最少步骤数

题目描述 给定一个数组,从第一个开始,正好走到数组最后,所使用的最少步骤数。 要求: 第一步从第一元素开始,第一步小于<len/2(len为数组的长度)。从第二步开始,只能以所在成员的数字走相应的步数,不能多也不能少, 如果目标不可达返回-1,输出最少的步骤数,不能往回走。 输入 7 5 9 4 2 ......
数组 深度 步骤 DFS

【DFS深度优先算法】全排列、组合总和

全排列 题目描述:给定一个没有重复数字的序列,返回其所有可能的全排列。 题目链接:46. 全排列 输入描述: 输入:[1,2,3] 输出描述: 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 思路:依次从前往后把所有数字,固定在第0个位置,此 ......
总和 算法 深度 DFS

DFS深搜解决迷宫问题(原理分析+代码实现)

深度优先搜索(DFS) 求解思路: 1.先判断是否到达目标位置,如果到达目标位置,再试探有无其他更短的路径。 2.如果没有到达目标位置,则找到下一步可以到达的位置,直到找到目标位置 ......
迷宫 原理 代码 问题 DFS

DFS算法的非递归遍历分析

两种写法,一个是边表顶点号全部压栈,一个是类似后序非递归遍历 1、 void DFS(Graph G,int i) { int p,w; Stack S; InitStack(S); Push(S,i); visited[i]=true; while(!isEmpty(S)) { Pop(S,p); ......
算法 DFS

DFS搜索算法

简介 深度优先搜索算法\((Depth First Search,\) 简称 \(DFS):\) 一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点 \(v\) 的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点 \(v\) 的那条边的起始节 ......
算法 DFS

牛客 牛客周赛Round20. (如何让两个dfs连起来) D 小红的数位删除 (让第二个dfsB继承第一个dfsA的结果, 从而达到目的

package newCode.周赛Round20; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class D_solution2 { static int la, lb; ......
数位 目的 两个 结果 Round

AcWing 920. 最优乘车 (抽象建图 + bfs

package 算法提高课; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class acw920 { /** * 本题的 ......
AcWing 920 bfs

dfs-单词匹配2

题目描述 在一个字符矩阵中,可把横向或竖向连续相邻的字符、按顺序组成一个单词,例如下图所示的 XE、ACX、STJIIE 给定一个字符矩阵 charMatrix 和目标单词列表 words,请计算这个字符矩阵可以组成多少个 words 中的单词,并返回这个数量: 矩阵中每个格子的字符,对于同一个单词 ......
单词 dfs

CSP-J 2023 T4 旅游巴士(CSP-J考纲范围内的解法:BFS+二分)

原题连接:https://www.luogu.com.cn/problem/P9751 题意解读: 给定n个点,m条边的有向带权图(权重为能通过该条边的最小时间),求从起点1到终点n的最短距离,由于出发和达到时间都需为k的倍数,所以这个最短距离也必须是k的倍数。限制条件:每通过一条路径,时长比上一个 ......
解法 CSP-J CSP 范围 2023

NOJ 八数码问题(bfs加hash)

描述 在九宫格里放在1到8共8个数字还有一个是空格,与空格相邻的数字可以移动到空格的位置,问给定的状态最少需要几步能到达目标状态(用0表示空格): 1 2 3 4 5 6 7 8 0 输入 输入一个给定的状态。 输出 输出到达目标状态的最小步数。不能到达时输出-1。 输入样例 1 2 3 4 0 6 ......
数码 问题 hash NOJ bfs

dfs思想方式

dfs 深度优先搜索:一条路走到黑 基本模型: Returntype dfs(参数) { 判断边界(返回) 扩展状态 dfs下一步 返回} dfs + 记忆返回值 = 记忆化搜索 class Solution { public: int minPathCost(vector<vector<int>> ......
思想 方式 dfs

acwing 第 130 场周赛  (前缀和,dfs,对不同边的处理)

#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<climits> using namespace std; typedef long long LL; const int N = 5 ......
前缀 acwing 130 160 dfs

loj144&145 dfs序+树状数组/线段树

[https://loj.ac/p/144](loj144) [https://loj.ac/p/145](loj145) 两题非常相似,一题的权值修改是在点上的,一题的权值修改是在整棵子树上的。 首先我们要了解dfs序,并记录每个节点的子树大小sz,对于一个节点,在dfs序上sz长的区间全都是他的 ......
线段 数组 loj 144 amp
共230篇  :1/8页 首页上一页1下一页尾页