深度优先

2024/4/11 14:09:36

LeetCode50天刷题计划(Day 12—— 电话号码的字母组合(8.40-10.40)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、题目示例提示二、思路1.数学2.dfs回溯3.BFS+队列三、代码1.数学 (python)2.dfs(+回溯&#xff09…

LeetCode50天刷题计划(Day 34—不同路径 (12.00-12.55)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、题目不同路径示例提示二、思路三、代码1.dfs2.dp前言 最近陷入了选择困难症、、但人总是要去面对一切困难的!而不是逃避! 找到方法坚…

LeetCode50天刷题计划(Day 39 —恰好移动 k 步到达某一位置的方法数目(8.00-8.50)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、题目恰好移动 k 步到达某一位置的方法数目示例提示二、思路记忆化搜索和递归、动态规划dfs与记忆化dfs三、代码1.超时2.ac前言 第一题是昨天mhy周赛的第二题…

(2022.1.19)训练:2021icpc上海站

(2022.1.19)训练:2021icpc上海站总体总结题目D代码题目E题目G代码题目I代码题目J题目K总体总结 这一次基本上还是比较仓促,一个重要的原因就是要准备期末考试好长时间没有接触过比赛了。总体上,对自己的要求还是要尽快…

求二叉树的最小深度(深度优先和广度优先)

自己建一个二叉树,然后分别使用深度优先和广度优先找到二叉树的最小深度。 代码中有注释哦~ package Bilibili; import java.util.LinkedList; import java.util.Queue;/*** author: Arbicoral* create: 2023-08-18 20:52* Description: 求一个二叉树的最小深度** 深…

图(上)——DFS种子填充

ACM学习笔记-DAY10 前几篇文章了解了树和二叉树并掌握了BFS和DFS,在树中个体之间可以是前驱后继的顺序关系、也可以是祖先后代的层次关系。但是在日常生活中能编织成树的数据结构还是很少的,更为广泛的是网状关系——也就是图(Graph&#xff…

PAT 甲 1004 Counting Leaves

2022.1.28 练习 PAT甲 1004 Counting Leaves &#xff08;原题链接&#xff09; 题解如下&#xff1a; #include <bits/stdc.h> using namespace std; const int MAX_SIZE110; int num[MAX_SIZE]{0};vector<int> Node[MAX_SIZE];int max_high0;void DFS(int inde…

蓝桥杯 数字三角形 dp

原题链接&#xff1a;蓝桥杯 数字三角形 对于题意中“向左下走的次数与向右下走的次数相差不能超过 1”的理解&#xff1a; 当n为奇数时&#xff0c;只有最后一行&#xff08;奇数个数&#xff09;的最中间一个数可以作为终点&#xff1b; 当n为偶数时&#xff0c;只有最…

剑指offer JZ13 机器人的运动范围 dfs

原题链接&#xff1a;JZ13 机器人的运动范围 class Solution { public:bool fun(int x,int y,int s){int sum0;while(x){sumx%10;x/10;}while(y){sumy%10;y/10;}if(sum<s)return true;else return false;}int ans0;int v[110][110];void dfs(int x,int y,int threshold,…

Leecode 236. 二叉树的最近公共祖先 DFS/递归

原题链接&#xff1a;Leecode 236. 二叉树的最近公共祖先 我的DFS。。。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/ class…

Leecode 589. N 叉树的前序遍历 栈

原题链接&#xff1a;Leecode 589. N 叉树的前序遍历 栈 /* // Definition for a Node. class Node { public:int val;vector<Node*> children;Node() {}Node(int _val) {val _val;}Node(int _val, vector<Node*> _children) {val _val;children _children;}…

Leecode 802. 找到最终的安全状态 拓扑排序/DFS

原题链接&#xff1a;802. 找到最终的安全状态 拓扑排序 class Solution { public:vector<int> eventualSafeNodes(vector<vector<int>>& graph) {vector<int> res;int ngraph.size();vector<int> degree(n);vector<vector<int>…

Leecode 面试题 08.12. 八皇后

原题链接&#xff1a;Leecode 面试题 08.12. 八皇后 class Solution { public:vector<vector<string>> res;bool v[9];int col[9];void dfs(int n,int now){if(nnow){vector<string> v;for(int i0;i<n;i){string s;for(int j0;j<n;j){if(col[j]!i) s…

Leecode 401. 二进制手表

原题链接:Leecode 401. 二进制手表 糙到不行的DFS&#xff08;效率感人&#xff09;&#xff1a; class Solution { public:vector<string> res;int l1[4],l2[6];void dfs(int n,int now,int h,int m){if(nnow){if(!(h>11 || m>59)) {string s;sto_string(h);s:…

Leecode 473. 火柴拼正方形 DFS+回溯+剪枝

原题链接&#xff1a;Leecode 473. 火柴拼正方形 class Solution { public:vector<int> match;bool dfs(vector<int>& matchsticks,int len,int start){if(startmatchsticks.size()){return (match[0]len) && (match[1]len) && (match[2]le…

Leecode 529. 扫雷游戏 DFS

原题链接&#xff1a;Leecode 529. 扫雷游戏 class Solution { public:vector<vector<int>> vis;int x[8]{-1,-1,-1,1,1,1,0,0};int y[8]{-1,0,1,-1,0,1,-1,1};int fun(vector<vector<char>>& board,int i,int j){int mboard.size(),nboard[0]…

Leecode 417. 太平洋大西洋水流问题 DFS

原题链接&#xff1a;Leecode 417. 太平洋大西洋水流问题 从太平洋和大西洋各自遍历&#xff0c;重合的点即为答案。 class Solution { public:vector<vector<int>> P,A,res;void dfs(vector<vector<int>>& heights,vector<vector<int&g…

Leecode 543. 二叉树的直径 递归

原题链接&#xff1a;Leecode 543. 二叉树的直径 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), l…

Leecode 687. 最长同值路径 DFS

原题链接&#xff1a;Leecode 687. 最长同值路径 最开始写的比较冗长&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* …

Leecode 124. 二叉树中的最大路径和 DFS

原题链接&#xff1a;Leecode 124. 二叉树中的最大路径和 开始写的很冗长&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr)…

Leecode 865. 具有所有最深节点的最小子树 DFS

原题链接&#xff1a;Leecode 865. 具有所有最深节点的最小子树 自己写的代码&#xff0c;比较复杂&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(n…

Leecode 1372. 二叉树中的最长交错路径 DFS

原题链接&#xff1a;Leecode 1372. 二叉树中的最长交错路径 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x)…

Leetcode 526. 优美的排列 DFS/状态压缩

原题链接&#xff1a;Leetcode 526. 优美的排列 DFS: class Solution { public:vector<vector<int>> match;vector<int> vis;int res0;void dfs(int i,int n){if(in1){res;return;}for(auto x:match[i]){if(!vis[x]){vis[x]1;dfs(i1,n);vis[x]0;}}}int co…

CCF-CSP 201803-4 棋局评估 博弈+DFS

原题链接&#xff1a;CCF-CSP 201803-4 棋局评估 推荐博客&#xff1a;CSP认证&#xff1a;棋局评估 #include <bits/stdc.h> using namespace std; const int INF0x3f3f3f;int a[3][3]; bool check(int w) {for(int i0;i<3;i){int res0;for(int j0;j<3;j){if(a[…

【程序员面试金典】面试题 17.22 . 单词转换

【程序员面试金典】面试题 17.22 . 单词转换 题目描述解题思路 题目描述 描述&#xff1a;给定字典中的两个词&#xff0c;长度相等。写一个方法&#xff0c;把一个词转换成另一个词&#xff0c; 但是一次只能改变一个字符。每一步得到的新词都必须能在字典中找到。 编写一个…

CCF-CSP 202112-5 极差路径 暴力12分

原题链接&#xff1a;CCF-CSP 202112-5 极差路径 #include <bits/stdc.h> using namespace std; #define ll long long const int N5e510;int n,k1,k2; vector<int> g[N]; vector<int> v; int vis[N]; set<pair<int,int>> res;void dfs(int x,…

Leetcode 797. 所有可能的路径 图DFS

原题链接&#xff1a;Leetcode 797. 所有可能的路径 class Solution { public:vector<vector<int>> res;void dfs(vector<vector<int>>& g,int x,vector<int>& tmp){if(x0) {vector<int> r(tmp);reverse(r.begin(),r.end());res.p…

Leetcode 547. 省份数量 求图的连通分量

原题链接&#xff1a;Leetcode 547. 省份数量 DFS class Solution { public:vector<int> visited;void dfs(vector<vector<int>>& isConnected,int x,int n){for(int i0;i<n;i){if(!visited[i] && isConnected[i][x]){visited[i]1;dfs(isCon…

Leetcode 1319. 连通网络的操作次数 DFS/并查集

原题链接&#xff1a;Leetcode 1319. 连通网络的操作次数 并查集路径压缩 class Solution { public:map<int,int> fa;int findfather(int x){int ax;while(x!fa[x]) xfa[x];while(a!fa[a]){int zfa[a];afa[a];fa[z]x;}return x;}void Union(int x,int y){int fxfindfa…

Leetcode 743. 网络延迟时间 DFS/BFS/Dijkstra/Dijkstra+优先队列/Floyd/Bellman-Ford

原题链接&#xff1a;Leetcode 743. 网络延迟时间 DFS class Solution { public:vector<vector<pair<int,int>>> adj;vector<int> visit;void dfs(int now,int w){if(visit[now]>w){visit[now]w;for(auto x:adj[now]){int ax.first,bx.second;df…

Leetcode 310. 最小高度树 BFS

原题链接&#xff1a;Leetcode 310. 最小高度树 超时DFS&#xff1a; class Solution { public:int res0;void dfs(vector<int>& visit,vector<vector<int>>& edges,int now,int h){visit[now]1;int flag-1;for(auto x:edges){int ax[0],bx[1];if(a…

Leetcode 841. 钥匙和房间

原题链接&#xff1a;Leetcode 841. 钥匙和房间 DFS class Solution { public:vector<int> visit;vector<vector<int>> adj;int num0;void dfs(int i){visit[i]1;num;for(auto x:adj[i]){if(!visit[x]) dfs(x);}}bool canVisitAllRooms(vector<vector<…

Leetcode 851. 喧闹和富有 DFS/拓扑排序

原题链接&#xff1a;Leetcode 851. 喧闹和富有 DFS1&#xff1a; class Solution { public:int tmpINT_MAX;int person;vector<vector<int>> adj;vector<int> visit;void dfs(vector<int>& quiet,int now){if(quiet[now]<tmp){tmpquiet[now];…

Leetcode 2316. 统计无向图中无法互相到达点对数 DFS/BFS/并查集+前缀和

原题链接&#xff1a;Leetcode 2316. 统计无向图中无法互相到达点对数 DFS class Solution { public:vector<vector<int>> adj;vector<int> visit;void dfs(int i,int color){visit[i]color;for(auto x:adj[i]){if(!visit[x]) dfs(x,color);}}long long cou…

Leetcode 2359. 找到离给定两个节点最近的节点

原题链接&#xff1a;Leetcode 2359. 找到离给定两个节点最近的节点 DFS: class Solution { public:vector<int> dis1;vector<int> dis2;vector<int> visit;void dfs(vector<int>& edges,int now,int d,int flag){if(flag1) dis1[now]d;else di…

Leetcode 2368. 受限条件下可到达节点的数目 BFS/DFS/并查集

原题链接&#xff1a;Leetcode 2368. 受限条件下可到达节点的数目 DFS class Solution { public:vector<vector<int>> adj;vector<int> visit;map<int,int> mp;int num0;void dfs(int now){visit[now]1;num;for(auto x:adj[now]){if(!visit[x] &am…

Leetcode 2192. 有向无环图中一个节点的所有祖先 逆向建图+DFS/拓扑排序

原题链接&#xff1a;Leetcode 2192. 有向无环图中一个节点的所有祖先 class Solution { public:vector<vector<int>> adj;vector<vector<int>> res;vector<int> indegree;map<pair<int,int>,int> mp;void dfs(int now){for(aut…

Leetcode 1311. 获取你好友已观看的视频 DFS/BFS+map自定义排序

原题链接&#xff1a;Leetcode 1311. 获取你好友已观看的视频 map自定义排序 参考&#xff1a;C容器map可以排序吗&#xff1f; static bool cmp(const pair<string,int> &a,const pair<string,int> &b) {if(a.secondb.second) return a.first<b.first…

Leetcode 1462. 课程表 IV DFS+反向构图/Floyd/拓扑排序

原题链接&#xff1a;1462. 课程表 IV DFS反向构图 这个做法是参考了这道题&#xff1a;Leetcode 2192. 有向无环图中一个节点的所有祖先 逆向建图DFS class Solution { public:vector<vector<int>> adj;map<pair<int,int>,int> mp;vector<vector…

Leetcode 2101. 引爆最多的炸弹 预处理构图+DFS/BFS

原题链接:Leetcode 2101. 引爆最多的炸弹 DFS class Solution { public:int num0;vector<vector<int>> adj;void dfs(int now,vector<int>& visit){visit[now]1;num;for(auto x:adj[now]){if(!visit[x]) dfs(x,visit);}}int maximumDetonation(vector&…

Leetcode 1361. 验证二叉树 DFS/BFS/并查集

原题链接&#xff1a; DFS class Solution { public:vector<vector<int>> adj;vector<int> visit;int num0;void dfs(int now){visit[now]1;num;for(auto x:adj[now]){if(!visit[x]) dfs(x);}}bool validateBinaryTreeNodes(int n, vector<int>&a…

Leetcode 1466. 重新规划路线 正向+逆向DFS/BFS

原题链接&#xff1a;Leetcode 1466. 重新规划路线 BFS class Solution { public:vector<vector<int>> adj;vector<vector<int>> in;vector<int> visit;int minReorder(int n, vector<vector<int>>& connections) {adj.resize(…

Leetcode 2477. 到达首都的最少油耗 dfs+贪心

原题链接&#xff1a;Leetcode 2477. 到达首都的最少油耗 计算节点的子节点数&#xff0c;使用贪心策略&#xff0c;让一辆车尽量载更多的人 class Solution { public:vector<vector<int>> adj;long long res0;long long dfs(int now,int seats,int pre){long lon…

Leetcode 959. 由斜杠划分区域 DFS+模拟/并查集

原题链接&#xff1a;Leetcode 959. 由斜杠划分区域 解法一&#xff1a;将一个方块看成3x3的矩阵&#xff0c;使用dfs判断有多少块区域&#xff0c;参考&#xff1a; [C] [动画] 转换成岛屿个数 class Solution { public:void dfs(vector<vector<int>>& g,int…

Leetcode 1971. 寻找图中是否存在路径 DFS/BFS

原题链接&#xff1a;Leetcode 1971. 寻找图中是否存在路径 DFS class Solution { public:vector<vector<int>> adj;vector<int> visit;bool flagfalse;void dfs(int now,int destination){if(nowdestination) flagtrue;visit[now]1;for(auto x:adj[now]){…

[蓝桥杯]迷宫(路径的存储和打印是关键,orz)

//存储容器&#xff1a;1&#xff1a;node father[maxn][maxn];//当前节点的父节点 2&#xff1a;struct node//*** { int x,y,d; char pos;//存储D L R U }; 具体存储&#xff1a; for(int i0;i<4;i){int toxnow.xdix[i];int toynow.ydiy[i];father[tox][toy].x…

【leetcode】112. 路径总和 - 113. 路径总和 II

题目详见112. 路径总和 题目详见 113. 路径总和 II 112.路径总和 解题思路&#xff1a; 先序遍历&#xff0c;如果递归中root 为空&#xff0c;就返回False表示该路径下没有和为TargetSum如果左右子树都为空&#xff0c;并且当前节点等于targetSum&#xff0c;就返回True然…

(2022.04.29)力扣每日一题 - dfs

前言 今天开始用C刷题的第一天&#xff0c;以后刷题尽量使用C作为主要的刷题工具&#xff0c;主要目标是熟练使用stl的特性&#xff0c;加快以后的刷题速度&#xff0c;正好今天也是我不熟悉的一个领域&#xff0c;图论&#xff0c;所以这赶紧刷一刷。今天是dfs的内容&#xff…

LeetCode 934.最短的桥

LeetCode 934.最短的桥 在给定的二维二进制数组 A 中&#xff0c;存在两座岛。&#xff08;岛是由四面相连的 1 形成的一个最大组。&#xff09; 现在&#xff0c;我们可以将 0 变为 1&#xff0c;以使两座岛连接起来&#xff0c;变成一座岛。 返回必须翻转的 0 的最小数目。…

P1305 新二叉树

题目描述 输入一串二叉树&#xff0c;输出其前序遍历。 输入格式 第一行为二叉树的节点数 n。(1≤n≤26) 后面 n 行&#xff0c;每一个字母为节点&#xff0c;后两个字母分别为其左右儿子。 空节点用 * 表示 输出格式 二叉树的前序遍历。 输入输出样例 输入 #1 6 abc…

207. 课程表——图论、深度遍历

class Solution { public:bool flag true;vector<int> visited;vector<vector<int>> vecVecInt;bool canFinish(int numCourses, vector<vector<int>>& prerequisites) {//其实是一个图论问题&#xff0c;看图中是否存在环//那么我们只要把…

leetcode — JavaScript专题(一):检查是否是类的对象实例、数组原型对象的最后一个元素、计数器、睡眠函数、有时间限制的缓存

专栏声明&#xff1a;只求用最简单的&#xff0c;容易理解的方法通过&#xff0c;不求优化&#xff0c;不喜勿喷 2618. 检查是否是类的对象实例 题面 请你编写一个函数&#xff0c;检查给定的对象是否是给定类或超类的实例。 可以传递给函数的数据类型没有限制。 知识点&am…

剑指Offer || 052.递增顺序搜索树

题目 给你一棵二叉搜索树&#xff0c;请 按中序遍历 将其重新排列为一棵递增顺序搜索树&#xff0c;使树中最左边的节点成为树的根节点&#xff0c;并且每个节点没有左子节点&#xff0c;只有一个右子节点。 示例 1&#xff1a; 输入&#xff1a;root [5,3,6,2,4,null,8,1,n…

211. 添加与搜索单词——前缀数2.0、回溯

class WordDictionary { private:vector<WordDictionary*> treeNode; //26个子树bool isEnd; public:WordDictionary() : treeNode(26), isEnd(false){}//添加单词void addWord(string word) {//正常前缀树的添加流程WordDictionary* node this;for(char ch : word){c…

P2176 [USACO11DEC]RoadBlock S / [USACO14FEB]Roadblock G/S

​​​​​​[USACO11DEC]RoadBlock S / [USACO14FEB]Roadblock G/S - 洛谷 #include <bits/stdc.h> #define LL long long using namespace std; const int maxn 1e6 10; const int mod 1e9 7; const int INF 1e9 10; const int N 1e6;int n,m,a[105][105],pre[…

算法-DFS+记忆化/动态规划-不同路径 II

算法-DFS记忆化/动态规划-不同路径 II 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/unique-paths-ii 1.2 题目描述 2 DFS记忆化 2.1 思路 注意题意&#xff0c;每次要么往右&#xff0c;要么往下走&#xff0c;也就是说不能走回头路。但是仍有可能走到之前已经…

1090 Highest Price in Supply Chain(29行代码+超详细注释)

分数 25 全屏浏览题目 作者 CHEN, Yue 单位 浙江大学 A supply chain is a network of retailers&#xff08;零售商&#xff09;, distributors&#xff08;经销商&#xff09;, and suppliers&#xff08;供应商&#xff09;-- everyone involved in moving a product fr…

LeetCode50天刷题计划(Day 42 —两数之和(8.10-8.20)回文数(8.20-8.30)组合(8.30-9.00)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目两数之和示例提示进阶二、思路三、代码四、题目组合示例提示五、思路六、代码前言 从今天开始变为一天写一个小时~ 最少一道上不封顶 一、题目 两数之…

LeetCode50天刷题计划(Day 43 —子集(20)单词搜索(40)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目子集示例提示二、思路三、代码四、题目单词搜索示例提示五、思路六、代码1.初级2.加入方向向量前言 没啥想说的 六级不能考了 我心如死灰 一、题目 子…

Day8.22 E. Unforgivable Curse (easyhard version)

文章目录 E1. Unforgivable Curse (easy version)E2. Unforgivable Curse (hard version) E1. Unforgivable Curse (easy version) Problem - 1800E1 - Codeforces 将s串转换成t串&#xff0c;每次能交换s串中下标绝对值差3或差4的字符 有点像bfs最小步数&#xff0c;但是字…

Leecode 79. 单词搜索 DFS

原题链接&#xff1a;Leecode 79. 单词搜索 又臭又长的代码 class Solution { public:bool resfalse;vector<vector<int> > v;void dfs(vector<vector<char>>& board, string word,string s,int i,int j,int n){int mboard.size(),n1board[0].…

1018 Public Bike Management 结题记录(dfs剪枝)

个人觉得直接放入代码是最管用的。 其他方法类似&#xff0c;题意请参考其他博主。 #include <bits/stdc.h> using namespace std; const int N 1e4 50;int maxn 2000000000; int c, n, ed, s[N], m, minlen, needn, backn, pre[N]; bool flag, book[N]; vector<p…

Python算法——深度优先搜索(DFS)

Python中的深度优先搜索算法详解 深度优先搜索&#xff08;Depth-First Search&#xff0c;DFS&#xff09;是一种遍历或搜索树、图等数据结构的算法。在DFS中&#xff0c;我们从起始节点开始&#xff0c;沿着一条路径尽可能深入&#xff0c;直到达到树的末端或图中的叶子节点…

Leecode 78. 子集 DFS/位运算

原题链接&#xff1a;Leecode 78. 子集 DFS 1 class Solution { public:vector<vector<int>> res;void dfs(vector<int>& nums,vector<int> v,int n){res.push_back(v);for(int in;i<nums.size();i){v.push_back(nums[i]);dfs(nums,v,i1);v.p…

Leecode 剑指 Offer 38. 字符串的排列 DFS

原题链接&#xff1a;Leecode 剑指 Offer 38. 字符串的排列 DFS class Solution { public:vector<string> res;vector<bool> v;void dfs(const string& s,int n,int l,string& t){if(ln){res.push_back(t);return ;}for(int i0;i<n;i){if(v[i] || (i…

Leecode 90. 子集 II DFS/位运算

原题链接&#xff1a;Leecode 90. 子集 II DFS class Solution { public:vector<vector<int>> res;void dfs(vector<int>& nums,vector<int> v,int n){res.push_back(v);for(int in;i<nums.size();i){if(i>n && nums[i-1]nums[i]…

【剑指offer-C++】JZ4 - 二维数组中的查找

【剑指offer】JZ4 - 二维数组中的查找题目描述解题思路题目描述 描述&#xff1a;在一个二维数组array中&#xff08;每个一维数组的长度相同&#xff09;&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&…

【刷题版】掌握算法的一揽子计划——深度优先搜索和回溯

文章目录深搜和回溯总结基本概念常见例题自然数的拆分排列型枚举全排列 I全排列 II组合型枚举组合 I组合 IIN皇后问题一些简单的树和图上的问题二叉树的遍历二叉树的所有路径岛屿的最大面积参考资料深搜和回溯总结 基本概念 深搜 深度优先搜索&#xff08;Depth First Searc…

Leecode 77. 组合 DFS+回溯+剪枝

原题链接&#xff1a;Leecode 77. 组合 class Solution { public:vector<vector<int>> res;vector<int> tmp;void dfs(int n,int num,int k,int start){if(numk){res.push_back(tmp);return ;}if(startk-num-1>n) return ;//剪枝for(int istart;i<n;…

Leecode 785. 判断二分图 DFS染色/BFS

原题链接&#xff1a;Leecode 785. 判断二分图 BFS class Solution { public:bool isBipartite(vector<vector<int>>& graph) {int ngraph.size();vector<int> color(n,0);queue<int> q;for(int i0;i<n;i){if(!color[i]){color[i]1;q.push…

图的广度和深度优先路径搜索算法(python实现)

前言 1. 图理论 1.1 图的概念 1.2 定义图 1.3 图的抽象数据结构 2. 图的存储实现 2.1 邻接矩阵 2.2 编码实现邻接矩阵 3. 搜索路径 3.1 广度优先搜索 3.2 深度优先搜索算法 4. 总结 前言 图是一种抽象数据结构&#xff0c;本质和树结构是一样的。 图与树相比较&am…

力扣236. 二叉树的最近公共祖先(java DFS解法)

Problem: 236. 二叉树的最近公共祖先 文章目录 题目描述思路解题方法复杂度Code 题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&am…

算法套路十二——回溯法之排列型回溯

算法套路十二——回溯法之排列型回溯 该节是在第十节回溯法之子集型回溯的基础上进行描写&#xff0c;组合型回溯会在子集型回溯的基础上判断所选子集是否符合组合要求&#xff0c; 故请首先阅读第十节算法套路十——回溯法之子集型回溯 算法示例一&#xff1a;LeetCode46. 全…

leetcode: 106. 从中序与后序遍历序列构造二叉树

题目描述 结果 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* …

35 子集II(Subsets II)

文章目录1 题目2 解决方案2.1 思路2.2 图解2.3 时间复杂度2.4 空间复杂度3 源码1 题目 题目&#xff1a;子集II&#xff08;Subsets II&#xff09; 描述&#xff1a;给定一个可能具有重复数字的列表&#xff0c;返回其所有可能的子集。 子集中的每个元素都是非降序的两个子集…

34 子集(Subsets)

文章目录1 题目2 解决方案2.1 思路2.2 图解2.3 时间复杂度2.4 空间复杂度3 源码1 题目 题目&#xff1a;子集&#xff08;Subsets&#xff09; 描述&#xff1a;给定一个含不同整数的集合&#xff0c;返回其所有的子集。子集中的元素不能以降序排列&#xff0c;解集不能包含重…

算法-搜索DFS与BFS(Java实现)

文章目录剑指 Offer II 084. 含有重复元素集合的全排列剑指 Offer II 079. 所有子集39. 组合总和剑指 Offer 12. 矩阵中的路径222. 完全二叉树的节点个数剑指 Offer 34. 二叉树中和为某一值的路径剑指 Offer 38. 字符串的排列思路&#xff1a;22. 括号生成思路&#xff1a;N皇后…

面试题 04.01. 节点间通路(C++|DFS|队列|unordered_set)

题目链接&#xff1a;力扣 题目描述 节点间通路。给定有向图&#xff0c;设计一个算法&#xff0c;找出两个节点之间是否存在一条路径。 示例1: 输入&#xff1a;n 3, graph [[0, 1], [0, 2], [1, 2], [1, 2]], start 0, target 2 输出&#xff1a;true 示例2: 输入&…

力扣算法 Java 刷题笔记【DFS篇】hot100(三)岛屿问题(二) 2|1

文章目录4. 岛屿的最大面积&#xff08;中等&#xff09;5. 统计子岛屿&#xff08;中等&#xff09;6. 不同的岛屿数量&#xff08;中等&#xff09;4. 岛屿的最大面积&#xff08;中等&#xff09; 地址: https://leetcode-cn.com/problems/max-area-of-island/ 2022/01/27 …

力扣算法 Java 刷题笔记【DFS篇】hot100(三)岛屿问题(一) 3

文章目录1. 岛屿数量&#xff08;中等&#xff09;2. 统计封闭岛屿的数目&#xff08;中等&#xff09;3. 飞地的数量&#xff08;中等&#xff09;1. 岛屿数量&#xff08;中等&#xff09; 地址: https://leetcode-cn.com/problems/number-of-islands/ 2022/01/27 做题反思&…

LeetCode 669 修剪二叉搜索树 -- 递归法和迭代法

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/trim-a-binary-search-tree 题意&#xff1a; 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得…

LeetCode 700 二叉搜索树中的搜索 -- 递归法和迭代法

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/search-in-a-binary-search-tree 题意&#xff1a; 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 …

LeetCode 513 找树左下角的值

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/find-bottom-left-tree-value 题意&#xff1a; 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点…

LeetCode 257 二叉树的所有路径 -- 递归法

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/binary-tree-paths 题意&#xff1a; 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子…

LeetCode 101 对称二叉树 -- 递归法和迭代法

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/symmetric-tree 题意&#xff1a; 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输…

洛谷题单 Part 8.1 图的存储与遍历

这周末程设期末小米杯&#xff0c;多复习复习找找手感&#xff0c;从图论开始吧&#xff0c;正好现在大晚上不想做太多题&#xff0c;这个专题第一个部分就俩题哈哈哈&#xff0c;懒死我得了 P2661 [NOIP2015 提高组] 信息传递 题面 Solution:Solution:Solution:利用并查集&a…

题64.2022寒假天梯赛训练C++练习-dfs模拟 功夫传人 (25 分)

文章目录题64.2022寒假天梯赛训练&C练习-dfs模拟 功夫传人 (25 分)一、题目二、题解题64.2022寒假天梯赛训练&C练习-dfs模拟 功夫传人 (25 分) 一、题目 二、题解 本题改造DFS算法&#xff0c;把每一代的功力与功损放入递归&#xff0c;用静态变量存得道者功和&#xf…

题15.天梯赛训练2022寒假天梯赛训练-红色警报 (25 分)

文章目录题15.天梯赛训练-红色警报 (25 分)一、题目二、题解题15.天梯赛训练-红色警报 (25 分) 一、题目 二、题解 直接套并查集就好&#xff0c;它的基本思路也是从连通集的增加个数出发去判断&#xff0c;当增加个数大于1时才会输出红色警报 /* //dfs计算连通集的个数 #inclu…

克隆有向无环图

有向无环图 (DAG) 是不包含循环但具有有向边的图。我们得到了一个 DAG,我们需要克隆它,即创建另一个具有其顶点和连接它们的边的副本的图。 例子: 输入 :0 - - - > 1 - - - -> 4 | / \ ^ | / \ | | / \ | | …

刷题记录:牛客NC24605Corn Maze

传送门:牛客 奶牛们去一个 NMN\times MNM 玉米迷宫&#xff0c;2≤N≤300,2≤M≤3002 \leq N \leq 300,2 \leq M \leq3002≤N≤300,2≤M≤300。 迷宫里有一些传送装置&#xff0c;可以将奶牛从一点到另一点进行瞬间转移。这些装置可以双向使用。 如果一头奶牛处在这个装置的起…

Leecode 207. 课程表 拓扑排序/DFS

原题链接&#xff1a;Leecode 207. 课程表 和这道题差不多&#xff1a;Leecode 802. 找到最终的安全状态 拓扑排序/DFS&#xff0c;这里的安全状态就是本题的无环的意思。 拓扑排序 class Solution { public:bool canFinish(int numCourses, vector<vector<int>&g…

每天一道leetcode:剑指 Offer 36. 二叉搜索树与双向链表(中等深度优先遍历递归)

今日份题目&#xff1a; 输入一棵二叉搜索树&#xff0c;将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点&#xff0c;只能调整树中节点指针的指向。 示例 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于…

【TopK问题】——用堆实现

文章目录一、TopK问题是什么二、解决方法三、时间复杂度一、TopK问题是什么 TopK问题就是从1000个数中找出前K个最大的数或者最小的数这样的类似问题。 不过并不要求这k个数字必须是有序的&#xff0c;如果题目有要求&#xff0c;则进行堆排序即可。 还有比如求出全国玩韩信…

3384. 二叉树遍历

Powered by:NEFU AB-IN Link 文章目录 3384. 二叉树遍历题意思路代码 3384. 二叉树遍历 题意 编写一个程序&#xff0c;读入用户输入的一串先序遍历字符串&#xff0c;根据此字符串建立一个二叉树&#xff08;以指针方式存储&#xff09;。 例如如下的先序遍历字符串&#xff…

Leetcode.1992 找到所有的农场组

题目链接 Leetcode.1992 找到所有的农场组 Rating &#xff1a; 1539 题目描述 给你一个下标从 0 开始&#xff0c;大小为 m x n 的二进制矩阵 land &#xff0c;其中 0 表示一单位的森林土地&#xff0c;1 表示一单位的农场土地。 为了让农场保持有序&#xff0c;农场土地之…

n-皇后问题(DFS回溯)

n−皇后问题是指将 n 个皇后放在 nn的国际象棋棋盘上&#xff0c;使得皇后不能相互攻击到&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n&#xff0c;请你输出所有的满足条件的棋子摆法。 输入格式 共一行&#xff0c;包含整数 n。 输出…

递归理解三:深度、广度优先搜索,n叉树遍历,n并列递归理解与转非递归

参考资料&#xff1a; DFS 参考文章BFS 参考文章DFS 参考视频二叉树遍历规律递归原理源码N叉树规律总结&#xff1a; 由前面二叉树的遍历规律和递归的基本原理&#xff0c;我们可以看到&#xff0c;二叉树遍历口诀和二叉树递推公式有着紧密的联系 前序遍历&#xff1a;F(x…

邻接表按深度优先遍历和按广度优先遍历的序列

求此邻接表的深度优先遍历序列和广度优先遍历序列。 深度优先&#xff1a;按深度优先遍历时会有类似"跳转"的操作&#xff0c;比如例1中顶点v1→边v2后&#xff0c;会直接跳转到顶点v2去&#xff0c;再重新从顶点v2→边v1&#xff0c;由于v1访问过&#xff0c;所以变…

力扣第841题 钥匙和房间 C++ DFS BFS 附Java代码

题目 841. 钥匙和房间 中等 相关标签 深度优先搜索 广度优先搜索 图 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而&#xff0c;你不能在没有获得钥匙的时候进入锁住的房间…

Smallest number(dfs全排列)

Smallest number - 洛谷 #include<bits/stdc.h> #define int long long using namespace std; int a[10]; string s[5]; bool vis[10]; int ans1e13;//0x3f1e9&#xff0c;所有有点不够 void dfs(int u) { // for(int i0;i<4;i) // { // printf("%d…

Leetcode.486 预测赢家

题目链接 Leetcode.486 预测赢家 mid 题目描述 给你一个整数数组 nums 。玩家 1 1 1 和玩家 2 2 2 基于这个数组设计了一个游戏。 玩家 1 1 1 和玩家 2 2 2 轮流进行自己的回合&#xff0c;玩家 1 1 1 先手。开始时&#xff0c;两个玩家的初始分值都是 0 0 0 。每一回合…

蓝桥杯算法心得——仙界诅咒(dfs)

大家好&#xff0c;我是晴天学长&#xff0c;搜索型的dfs&#xff0c;差点开二维矩阵了&#xff0c;仔细一想&#xff0c;没那么夸张啊&#xff0c;哈哈哈&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1…

每日一题 1457. 二叉树中的伪回文路径(中等,DFS)

一句话&#xff0c;深度搜索所有路径&#xff0c;判断路径是否伪回文 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right clas…

Leetcode—94.二叉树的中序遍历【简单】

2023每日刷题&#xff08;四十&#xff09; Leetcode—94.二叉树的中序遍历 C语言实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ /*** Note: The returned array mus…

【五月集训5.15】———深搜

☘前言☘ 开更五月集训专题&#xff0c;由浅入深&#xff0c;深入浅出&#xff0c;飞向大厂&#xff01; &#x1f9d1;&#x1f3fb;作者简介&#xff1a;一个从工业设计改行学嵌入式的年轻人 ✨联系方式&#xff1a;2201891280(QQ) ⏳全文大约阅读时间&#xff1a; 20min 全…

树链剖分 个人总结

树链剖分 - OI Wiki 树链剖分用于将树分割成若干条链的形式&#xff0c;以维护树上路径的信息。具体来说&#xff0c;将整棵树剖分为若干条链&#xff0c;使它组合成线性结构&#xff0c;然后用其他的数据结构维护信息。 全是oiwiki的&#xff0c;不写咯 定义&#xff1a; fa…

【Acwing166】数独(dfs+剪枝+位运算)

本题思路来源于acwing算法提高课 题目描述 看本文需要准备的知识 1.dfs算法基本思想 2.位运算基础 3.对剪枝这个名词的大概了解 剪枝优化位运算优化 常见四种剪枝策略 首先考虑这道题的搜索顺序&#xff0c;很明显&#xff0c;可以随意选择一个空格子&#xff0c;分支为这…

蓬莱「凯风快晴 −富士火山−」(单调栈优化)

蓬莱「凯风快晴 −富士火山−」 通过观察&#xff0c;很容易想到&#xff1a; 第 iii 层的结点数如果比第 i1i1i1 层更多&#xff0c;一定可以去掉若干第 iii 层的节点&#xff0c;使得结点数与第 i1i1i1 层一样多。 不一定最下面一层的结点数最多&#xff0c;极端情况下&am…

Acwing.846 数的重心(DFS)

题目 给定一颗树&#xff0c;树中包含n个结点&#xff08;编号1~n)和n-1条无向边。 请你找到树的重心&#xff0c;并输出将重心删除后&#xff0c;剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点&#xff0c;如果将这个点删除后&#xff0c;剩余各个连通块中…

201709-4 试题名称: 通信网络100分

问题描述 某国的军队由N个部门组成&#xff0c;为了提高安全性&#xff0c;部门之间建立了M条通路&#xff0c;每条通路只能单向传递信息&#xff0c;即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递&#xff0c;即如果a能将信息传递到b&#x…

【蓝桥杯2020】七段码

【题目描述】 七段码 HUSTOJ 题目导出文件 [蓝桥杯2020] 第十一届蓝桥杯第二次省赛—填空题E题 七段码 小蓝要用七段码数码管来表示一种特殊的文字。 上图给出了七段码数码管的一个图示&#xff0c;数码管中一共有 7 段可以发光的二 极管&#xff0c;分别标记为 a, b, c,…

第六届 传智杯初赛B组

文章目录 A. 字符串拼接&#x1f37b; AC code B. 最小差值&#x1f37b; AC code C. 红色和紫色&#x1f37b; AC code D. abb&#x1f37b; AC code E. kotori和素因子&#x1f37b; AC code F. 红和蓝&#x1f37b; AC code &#x1f970; Tips&#xff1a;AI可以把代码从 j…

【算法分析与设计】第八章-回溯法

一、知识铺垫 约束条件 分为显式约束和隐式约束 显式&#xff1a;规定了问题的解的分量的取值范围。如求n的全排列每个位置只能取1~n 隐式&#xff1a;用于判定候选解是否为可行解。如全排列的每个数字不允许重复。问题状态和状态空间树 状态空间树是描述问题解空间的…

【洛谷 P1219】[USACO1.5]八皇后 Checker Challenge 题解(深度优先搜索+回溯法)

[USACO1.5]八皇后 Checker Challenge 题目描述 一个如下的 666 \times 666 的跳棋棋盘&#xff0c;有六个棋子被放置在棋盘上&#xff0c;使得每行、每列有且只有一个&#xff0c;每条对角线&#xff08;包括两条主对角线的所有平行线&#xff09;上至多有一个棋子。 上面的布…

leetcode 101 对称二叉树

题目 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false递归思路 确定递归函数的参数…

LeetCode 236 二叉树的最近公共祖先 -- 递归法

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree 题意&#xff1a; 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1…

Leetcode—108.将有序数组转换为二叉搜索树【简单】

2023每日刷题&#xff08;五十八&#xff09; Leetcode—108.将有序数组转换为二叉搜索树 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ struct TreeNode* dfs(int …

leetcode算法题--数值的整数次方

原题链接&#xff1a;https://leetcode.cn/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/description/?envTypestudy-plan-v2&envIdcoding-interviews 使用快速幂算法 1、递归写法 func myPow(x float64, n int) float64 {if n > 0 {return dfs(x, n)}return 1.0 / …

每日一题 78子集(模板)

题目 78 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[],[1],[2]…

【面试题13. 机器人的运动范围】(回溯)

【解题思路】 这道题说的不清楚&#xff0c;其实包含一个隐含条件&#xff1a;不可达的方格相当于障碍物&#xff0c;不能通过不可达的方格到达别的符合条件的方格。 如这个图中&#xff0c;上面那块符合条件的方格是可达的&#xff0c;但是无法到达下面符合条件的区域。 cla…

OJ练习第107题——二叉搜索子树的最大键值和

二叉搜索子树的最大键值和 力扣链接&#xff1a;1373. 二叉搜索子树的最大键值和 题目描述 给你一棵以 root 为根的 二叉树 &#xff0c;请你返回 任意 二叉搜索子树的最大键值和。 二叉搜索树的定义如下&#xff1a; 任意节点的左子树中的键值都 小于 此节点的键值。 任意…

AtCoder Regular Contest 149

AtCoder Regular Contest 149 A.RepdigitNumber∘\color{#007f00}\texttt{A. Repdigit Number}\color{red}~\circA. Repdigit Number ∘ /*name: Repdigit Numberid: AT_arc149_adate: 2023/01/23 */#include <bits/stdc.h> using namespace std; typedef long long l…

Codeforces Round 881 Div.3

文章目录 贪心&#xff1a;A. Sasha and Array Coloring结论&#xff1a;B. Long Long性质&#xff1a;C. Sum in Binary Treedfs求叶子数量&#xff1a;D. Apple Tree二分与前缀和&#xff1a;E. Tracking Segments 贪心&#xff1a;A. Sasha and Array Coloring Problem - A…

2/13考试总结

时间安排 7:30–7:50 看题&#xff0c;T1数据结构&#xff0c;T2dp,T3 dp 。 7:50–8:30 T1,考虑询问可分为两部分&#xff0c;向上和向下&#xff0c;向上部分可以倍增&#xff0c;考虑向下怎么做&#xff0c;考虑能不能直接离线维护倍增&#xff0c;发现不太好做。 8:30–10…

【打卡】牛客网:

自己写的&#xff1a; 虽然题目要求了排序&#xff0c;但是我没排序也可以通过。 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param num int整型vector * return int整型vector<vec…

问有几种新增航班方法可以去目标岛(gpt对回溯的条件判断不严苛,容易漏)

有n个岛&#xff0c;m班双向航线&#xff0c;航线用x,y表示x和y两个岛之间是有航班的&#xff0c;我要从s岛去t岛&#xff0c;请问是否可以&#xff1f;c&#xff0c;DFS 输入 3 2 0 2 0 1 1 2 输出 2 bool dfs(int u, int t, vector<bool>& visited, vector<ve…

树状结构查询 - 华为OD统一考试

OD统一考试 分值&#xff1a; 200分 题解&#xff1a; Java / Python / C 题目描述 通常使用多行的节点、父节点表示一棵树&#xff0c;比如&#xff1a; 西安 陕西 陕西 中国 江西 中国 中国 亚洲 泰国 亚洲 输入一个节点之后&#xff0c;请打印出来树中他的所有下层节点。 …

图的广度优先遍历(BFS)和深度优先遍历(DFS)C++实现

问题描述 对下图分别进行广度和深度优先遍历。期望的输出结果为&#xff1a; BFS&#xff1a;s-1-2-3-4-t DFS&#xff1a;s-1-3-t-4-2 基本思路 广度优先&#xff1a;借助标记数组队列&#xff0c;将与当前节点关联的所有未访问过的节点加到队列里&#xff0c;按队列次序输…

算法套路八——二叉树深度优先遍历(前、中、后序遍历)

算法套路八——二叉树深度优先遍历&#xff08;前、中、后序遍历&#xff09; 算法示例&#xff1a;LeetCode98&#xff1a;验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只…

784. 字母大小写全排列

字母大小写全排列 描述 : 给定一个字符串 s &#xff0c;通过将字符串 s 中的每个字母转变大小写&#xff0c;我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。 题目 : LeetCode 784.字母大小写全排列 : 784. 字母大小写全排列 分析…

JavaScript : leetcode题号 433计算岛屿的个数(Number of Islands)

题目 题目&#xff1a;计算岛屿的个数&#xff08;Number of Islands&#xff09; 描述&#xff1a;给一个 01 矩阵&#xff0c;求不同的岛屿的个数。0 代表海&#xff0c;1 代表岛&#xff0c;如果两个 1 相邻&#xff0c;那么这两个 1 属于同一个岛。我们只考虑上下左右为相…

pat实现基于邻接矩阵表示的深度优先遍历[含非递归写法]

文章目录 1.递归2.非递归 1.递归 void DFS(Graph G, int v) {visited[v] 1;printf("%c ", G.vexs[v]);for (int i 0; i < G.vexnum; i) {if (!visited[i] && G.arcs[v][i]) DFS(G, i);} }2.非递归 #include <stack> #include <iostream> …

大厂真题:【模拟】阿里蚂蚁2023秋招-奇偶操作

题目描述与示例 题目描述 小红有一个长度为n的数组a&#xff0c;她将对数组进行m次操作&#xff0c;每次操作有两种类型&#xff1a; 将数组中所有值为奇数的元素加上x将数组中所有值为偶数的元素加上x 请你输出m次操作后的数组 输入描述 第一行两个整数n和m&#xff0c;…

【五月集训5.20】———二叉搜索树

☘前言☘ 开更五月集训专题&#xff0c;由浅入深&#xff0c;深入浅出&#xff0c;飞向大厂&#xff01; &#x1f9d1;&#x1f3fb;作者简介&#xff1a;一个从工业设计改行学嵌入式的年轻人 ✨联系方式&#xff1a;2201891280(QQ) ⏳全文大约阅读时间&#xff1a; 20min 全…

1207. 大臣的旅费(dfs求树的直径/图论)

题目&#xff1a; 1207. 大臣的旅费 - AcWing题库 思路&#xff1a; dfs求树的直径。 代码&#xff1a; #include<iostream> #include<cstdio> #include<vector> using namespace std; const int N100100; struct Edge//边的id以及长度 {int id,w; };ve…

leetcode DFS专题

1 DFS 框架 result [] void backtrack(路径&#xff0c;选择列表) {if (满足条件) {result.add(路劲);return;}for 选择 in 选择列表做选择backtrack(路径&#xff0c;选择列表);撤销选择 } 相关题目&#xff1a; 112 路径总和 class Solution { public:vector<int>…

二叉树算法的框架套路总结

二叉树算法的框架套路总结 总结 本文主要来源于Leetcode用户&#xff1a;https://leetcode.cn/u/labuladong/&#xff0c;感谢写了这么好的文章作者&#xff1a;labuladong 链接&#xff1a;https://leetcode.cn/problems/same-tree/solutions/6558/xie-shu-suan-fa-de-tao-l…

【Acwing167】木棒(dfs+剪枝)超级详细题解!

题目描述 统一说明 本题思路来源于acwing算法提高课 木棍指题目输入数据所指的东西 木棒指最后由木棍拼接而成的最长的东西 看本文需要准备的知识 1.dfs基本思想 2.对“剪枝”这个词汇有一个基本的认识即可 整体分析 这个题目最终是求木棒的最短长度&#xff0c;所以我…

SHOI2002滑雪

题目描述 Michael 喜欢滑雪。这并不奇怪&#xff0c;因为滑雪的确很刺激。可是为了获得速度&#xff0c;滑的区域必须向下倾斜&#xff0c;而且当你滑到坡底&#xff0c;你不得不再次走上坡或者等待升降机来载你。Michael 想知道在一个区域中最长的滑坡。区域由一个二维数组给…

C++ 模板集 - 不定期更新

文章目录 01背包完全背包动态规划区间动态规划DFS - 栈链式前项星图论 dijkstra算法 (邻接矩阵)图论 dijkstra算法 - 堆优化 (小根堆)图论 dijkstra算法 - 堆优化 (大根堆-修复中)最短路 - SPFA最短路 - Floyd最小生成树 - Kruskal最小生成树 - Prim快读拓扑排序高精度 - 加法 …

高阶数据结构图下篇

目录&#xff1a; 图的基本概念二深度优先遍历&#xff08;DFS&#xff09;广度优先遍历&#xff08;BFS&#xff09; kruskal&#xff08;克鲁斯卡尔算法&#xff09;Prim&#xff08;普里姆算法&#xff09;Dijkstra(迪杰斯特拉算法)Bellman-ford(贝尔曼-福特算法) flyod-war…

子序列和 c++ dfs

题目描述 给定整数a1、a2、…an&#xff08;1<a1…an<1000&#xff09;。推断能否从中选出若干数&#xff0c;使它们的和恰好为k。 输入格式: 首先&#xff0c;n和k&#xff08;1<n<25&#xff09;&#xff0c;n表示数的个数。k表示数的和。接着一行n个数。 输…

P4151 [WC2011]最大XOR和路径线性基

link 注意insert的是 res ^ val[v] ^ w vector <ull> B; void insert(ull x) {for(auto b : B)x min(x, x ^ b);for(auto &b : B)b min(b, x ^ b);if(x)B.push_back(x); } int head[maxn], cnt; struct Edge {int to, next;ull w; }edge[maxm]; void add_edge(int…

牛客练习赛50

A. tokitsukaze and Connection 题目链接 题意&#xff1a;给你一个全由小写字母构成的字符串&#xff0c;判断这个字符串中的同种字母是不是全部连在一起&#xff1b; 思路&#xff1a;直接暴力for一遍&#xff0c;从第二个字母开始&#xff0c;判断当前字母有没有出现过&…

蓝桥杯 --- 递归与递推

蓝桥杯 --- 递归与递推1. 递归92. 递归实现指数型枚举94. 递归实现排列型枚举1. 递归 int f(int n) {f(n - 1) }经典应用&#xff1a;斐波那契数列 1 2 3 5 8 13 21 34 55 递归公式&#xff1a;f(n) f(n - 1) f(n - 2) n > 3递归边界&#xff1a;if(n 1) return 1; if(…

正整数分解-深度搜索优先DFS 递归函数实现

正整数分解 题目编号&#xff1a;Exp08-Basic01&#xff0c;GJBook3-12-05 题目名称&#xff1a;正整数分解 题目描述&#xff1a;正整数n&#xff0c;按第一项递减的顺序依次输出其和等于n的所有不增的正整数和式。 输入&#xff1a;一个正整数n&#xff08;0<n≤15&#x…

dfs全排列

#include<iostream> #include<algorithm> using namespace std; const int maxn 20; int arr[maxn]; //这n个数字有哪几个 如1 2 3 int vis[maxn]; //判断这个数字是否被使用 int n;//表示有n个数 比如有3个数字 int stc[maxn];//保存排列的结果&#xff0c;这…

c++素数环 不是规定1开头

整体思路就是普通的dfs&#xff0c;只是判断条件多了一个素数&#xff0c;如果出了问题&#xff0c;可以按照正常dfs修改&#xff0c;本人初学dfs&#xff0c;代码可能有问题 #include<iostream> using namespace std; const int N 999; int a[N];//保存结果 int vis[N…

DFS (排列数字+n-皇后)

842. 排列数字 - AcWing题库 用dfs&#xff0c;求出全排列。 //下标从1开始的代码 #include<iostream> using namespace std; const int N10; int path[N];//路径记录 bool st[N];//判断数字是否已用过 用过为true 没用过false int n; void dfs(int u) {if(un1)//n位全搜…

leetcode[504]七进制数 python3实现(经典进制转换,注意python的负数取余,注意特殊值0)

# # 给定一个整数 num&#xff0c;将其转化为 7 进制&#xff0c;并以字符串形式输出。 # # # # # # # # 示例 1: # # # # # # 输入: num 100 # # 输出: "202" # # # # # # 示例 2: # # # # # # 输入: num -7 # # 输出: "-10" # # # # # #…

2022.1.11

上午: [1]听四级网课 [2]记单词 [3]洛谷:perket #include<stdio.h> #include<math.h> int acid1,salt0; int s[20],b[20]; int n; int book[100]{0}; int absdifference1e9; void dfs(int c) {//这个好像有没有都无所谓 // if(c>n-1) // { // …

LeetCode-102. 二叉树的层序遍历-队列

102. 二叉树的层序遍历 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr…

图论算法:DFS求有向图或无向图两点间所有路径及最短路径

1、目的 根据有向图获取指定起终点的所有路径,包括最长和最短路径。 2、示例效果 2.1 原始数据 路线起终点整理如下: // 共计12个顶点,19条边。 (起点,终点,1)最后的1代表起点终点是连通的。 起点,终点,1:2 4 1 起点,终点,1:9 10 1 起点,终点,1:8 11 1 起点…

LeetCode 110 平衡二叉树 -- 递归法

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/balanced-binary-tree 题意&#xff1a; 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一…

06-图2 Saving James Bond - Easy Version

题目&#xff1a; This time let us consider the situation in the movie “Live and Let Die” in which James Bond, the world’s most famous spy, was captured by a group of drug dealers. He was sent to a small piece of land at the center of a lake filled with…

LeetCode 501 二叉搜索树中的众数 -- 递归法和迭代法

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/find-mode-in-binary-search-tree 题意&#xff1a; 给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有…

二叉搜索树类题目专题训练 -- LeetCode上10道与二叉搜索树相关的题

这个专题中的题目是我跟随代码随想录的刷题计划&#xff0c;在LeetCode上做的与二叉搜索树相关的题目&#xff0c;用于加深对二叉搜索树的理解&#xff01; 下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码&#xff0c;希望对…

数据结构与算法之深度优先算法详解

深度优先算法&#xff08;Depth First Search&#xff0c;DFS&#xff09;是一种常见的图形算法&#xff0c;它是一种用于遍历或搜索树或图的算法。在深度优先搜索中&#xff0c;我们首先探索一个子树的深度&#xff0c;然后再回溯到父节点&#xff0c;接着探索另一个子树的深度…

CSP 202112-5 极差路径12分暴力代码

原题链接&#xff1a;CSP 202112-5 极差路径 #include <bits/stdc.h> using namespace std; #define ll long long const int MAX5e510; const int INF1e9;int n,k1,k2; vector<int> g[MAX]; int vis[MAX]; int p[MAX]; int num1; set<pair<int,int> >…

LeetCode 98 验证二叉搜索树 -- 递归法和迭代法

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/validate-binary-search-tree 题意&#xff1a; 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff…

leetcode-413. 等差数列划分(java)

等差数列划分 leetcode-413. 等差数列划分题目描述双指针 上期经典算法 leetcode-413. 等差数列划分 难度 - 中等 原题链接 - 等差数列划分 题目描述 如果一个数列 至少有三个元素 &#xff0c;并且任意两个相邻元素之差相同&#xff0c;则称该数列为等差数列。 例如&#xff0…

算法 - 回溯 / DFS / BFS

文章目录 &#x1f37a; 回溯&#x1f37b; 子集&#x1f942; 78. 子集 [无重数组] [子集] (回溯)&#x1f942; 90. 子集Ⅱ [有重数组] [子集] (回溯) &#x1f37b; 组合&#x1f942; 39. 组合总和 [无重数组] [组合] (回溯)&#x1f942; 40. 组合总和Ⅱ [有重数组] [组合…

101.对称二叉树

给定一个二叉树&#xff0c;检查它是否是镜像对称的。 例如&#xff0c;二叉树 [1,2,2,3,4,4,3] 是对称的。 1/ 2 2 / \ / 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1/ 2 2 \ 3 3 方法1 根左右遍历一次树得到数组&#xff0c;根右左遍历一次得到…

递归实现全排列

递归实现全排列 #include<bits/stdc.h> using namespace std; //递归实现全排列 int n; int a[20]; int vis[20]; void dfs(int step){if(step>n){for(int i1;i<n;i){cout<<a[i]<<" ";}cout<<endl;return ;}for(int i1;i<n;i){if…

大学康复训练

大学康复训练 进入清华第一次打codeforces&#xff0c;感觉自己又菜了好多好多呀&#xff0c;这几天回复手感&#xff0c;上传一些自己觉得做的好的题目。 波浪数P1112 看似是一个考进制转换的&#xff0c;但是一算发现暴力必定会t&#xff0c;所以换个欧拉筛的思路&#xff…

LeetCode 226 翻转二叉树 -- 二叉树遍历

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/invert-binary-tree 题意&#xff1a; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xf…

LeetCode 865. Smallest Subtree with all the Deepest Nodes【树,DFS,BFS,哈希表】1534

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

一本通 3.3.1 树与二叉树

树与二叉树的基本知识 1336&#xff1a;【例3-1】找树根和孩子 【题目描述】 给定一棵树&#xff0c;输出树的根root&#xff0c;孩子最多的结点max以及他的孩子。 【题目分析】 【代码实现】 #include<bits/stdc.h> using namespace std; int father[201], sum[101]…

130. 被围绕的区域——DFS

class Solution { public:int rows, columns;void solve(vector<vector<char>>& board) {rows board.size();columns board[0].size();for(auto i 0; i < rows; i){dfs(board, i, 0); //左边界dfs(board, i, columns - 1); //右边界}for(auto j 0; j …

【数据结构与算法】图的遍历与拓扑排序

文章目录 一、用数组模拟邻接表二、图的深度优先遍历&#xff08;dfs&#xff09;2.1 概念2.2 例题&#xff1a;树的重心 三、图的广度优先遍历&#xff08;bfs&#xff09;3.1 概念3.2 例题&#xff1a;图中点的层次 四、拓扑排序4.1 概念4.2 例题&#xff1a;有向图的拓扑序列…

Leecode刷题笔记 二叉树

二叉树的中序遍历 这种方法是首先从头走到尾&#xff0c;把根节点和各层左儿子节点全部走一遍&#xff0c;走到头之后此时root已经是None了。这时候再从栈里弹出一个点给root&#xff0c;该点其实就是root上一个访问的点&#xff0c;也是最底层的那个左节点。此时再看该节点是…

【44.全排列Ⅱ】

目录 一、题目描述二、算法原理三、代码实现 一、题目描述 二、算法原理 三、代码实现 class Solution { public:vector<vector<int>> ret;vector<int> path;vector<bool> check;vector<vector<int>> permuteUnique(vector<int>&am…

Leecode 104. 二叉树的最大深度 递归

原题链接&#xff1a;Leecode 104. 二叉树的最大深度 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x)…

LeetCode130. Surrounded Regions

文章目录 一、题目二、题解 一、题目 Given an m x n matrix board containing ‘X’ and ‘O’, capture all regions that are 4-directionally surrounded by ‘X’. A region is captured by flipping all O’s into X’s in that surrounded region. Example 1: Input…

L2-001 紧急救援(dijkstra算法练习)

作为一个城市的应急救援队伍的负责人&#xff0c;你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候&#xff0c;你的任务是带领你的…

拓扑排序--C++实现

1. 定义 前置知识 DAG: Directed Acyclic Graph 有向无环图拓扑序&#xff1a; 像先修课程一样&#xff0c;即任意课程的前置课程都在其前面。 举个例子 在这个图中&#xff0c;1234或者1324是拓扑序。而其他的序列不是&#xff0c;即在一个节点出现之前他的所有祖先节点需…

HENAU 冬令营 搜索专题(M-O)

目录 M - 八皇后问题 输入格式 输出格式 N - 选数 输入格式 输出格式 O - 打开灯泡 Switch the Lamp On M - 八皇后问题 努比亚和苏丹没有子女&#xff0c;所以他要从一些有集成资格的继承者中挑选一个出来继承王位。他希望这个继承者足够聪明&#xff0c;所以他准备了一…

Python算法——树的序列化与反序列化

Python中的树的序列化与反序列化 树的序列化与反序列化是指将树结构转换为字符串表示&#xff08;序列化&#xff09;&#xff0c;以及将字符串表示还原为原始树结构&#xff08;反序列化&#xff09;。在本文中&#xff0c;我们将深入讨论如何实现树的序列化与反序列化算法&a…

被围绕的区域

题目链接 leetcode——在线链接 题目描述 给你一个 m x n 的矩阵 board &#xff0c;由若干字符 ‘X’ 和 ‘O’ &#xff0c;找到所有被 ‘X’ 围绕的区域&#xff0c;并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 题目示例 输入&#xff1a;board [[“X”,“X”,“X”,…

P1141 01迷宫(dfs+染色联通块)

染色联通块&#xff1a; 一个格联通的所有格 每个对应的最大可联通格子的个数均相同 分析&#xff1a; 1.只需要计算每个块里的元素个数 2.元素标记对应某个块 3.查找元素时&#xff1a; 由 &#xff08;1&#xff09;元素坐标-> &#xff08;2&#xff09;查找…

【深度优先搜索遍历算法的实现,广度优先遍历(BFS-Breadth_First Search),构造最小生成树】

文章目录 深度优先搜索遍历算法的实现邻接矩阵表示的无向图深度遍历实现&#xff1a;DFS算法分析 广度优先遍历&#xff08;BFS-Breadth_First Search&#xff09;构造最小生成树 深度优先搜索遍历算法的实现 邻接矩阵表示的无向图深度遍历实现&#xff1a; 实现深度优先遍历的…

递归算法学习——二叉树的伪回文路径

1&#xff0c;题目 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的所有节点值的排列中&#xff0c;存在一个回文序列。 请你返回从根到叶子节点的所有路径中 伪回文 路径的数目。 示例…

【1377. T 秒后青蛙的位置】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一棵由 n 个顶点组成的无向树&#xff0c;顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下&#xff1a; 在一秒内&#xff0c;青蛙从它所在的当前顶点跳到另一个 未访问 过的顶点&#xf…

【算法】欧拉路径的DFS存储顺序

欧拉路径和欧拉回路 对于无向图&#xff0c;所有边都是连通的。 &#xff08;1&#xff09;存在欧拉路径的充分必要条件&#xff1a;度数为奇数的点只能有0个或2个。 &#xff08;2&#xff09;存在欧拉回路的充分必要条件&#xff1a;度数为奇数的点只能有0个。 对于有向图&a…

Leecode 886. 可能的二分法 DFS染色/BFS

原题链接&#xff1a;Leecode 886. 可能的二分法 和这道题大同小异&#xff1a;Leecode 785. 判断二分图 DFS染色/BFS BFS class Solution { public:bool possibleBipartition(int n, vector<vector<int>>& dislikes) {vector<int> color(n1,0);queue&…

LeetCode-6-括号生成(dfs)、栈

LeetCode-6-括号生成(dfs) class Solution { public:vector<string> res;void dfs(int n,int l,int r,string rs){ //n&#xff1a;对数 l:(数 r:)数if(ln&&rn) res.push_back(rs); //左括号数等于右括号数等于n时&#xff0c;返回结果给resif(l<n) dfs(n,l1,…

dfs的介绍和例题与bfs介绍

dfs对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次. 就是一条路走到头再换去找新的路 时间复杂度是O(n!) 1到n的排列 typedef long long ll; ll q[10000010]&#xff1b; void dfs(int x){ if(xn){ for(inti0;i<n;i)cout<<q…

leetcode: 144. 二叉树的前序遍历

题目描述 结果 使用迭代算法解题思路&#xff1a;Morris遍历 利用结点空指针 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* T…

力扣LCR 130. 衣橱整理(DFS 解法)

Problem: LCR 130. 衣橱整理 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 首先该问题可以归纳为一类遍历二维矩阵的题目&#xff0c;此类中的一部分题目可以利用DFS来解决&#xff0c;具体到本题目&#xff1a; 我们可以利用一个布尔类型的二维数组记录我们已经访…

CF1899 G. Unusual Entertainment [二维数点/二维偏序]

传送门:CF [前题提要]:没什么好说的,区域赛爆炸之后发愤加训思维题.秒了div3 A~F的脑筋急转弯,然后被G卡了,树剖dfs序的想法已经想到了,题目也已经化简为两个线段是否存在一个合法位置了.但是MD不会二维数点,用一个树剖扫描线搞来搞去最后还是Tle.果然如下图所说:科技还是十分…

【算法基础】深度优先搜索(DFS) 广度优先搜索(BFS)

一、DFS & BFS 1. 深度优先搜索DFS 深度优先搜索属于图算法的一种,英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。 2. 广度优先搜索BFS 广度优先搜索较之深度优先搜索之不同在于,深度…

关于DFS和BFS这个算法

解释&#xff1a; 广度优先算法&#xff08;Breadth-First-Search&#xff09;&#xff0c;简称BFS。从知识点看属于图结构的搜索算法&#xff0c;是一种相对容易理解的简单算法。 BFS算法从问题的初始状态&#xff08;起点&#xff09;出发&#xff0c;根据状态转换规…

210. 课程表 II——深度遍历

class Solution { public://是课程表207题的升级版&#xff0c;不同是结果需要输出顺序数组//不同的地方作了标注&#xff0c;思路不懂的建议先翻看第207题的注释vector<vector<int>> vecVecInt;vector<int> visited;bool flag true;vector<int> ans;…

222. 完全二叉树的节点个数——位运算

class Solution { public:int countNodes(TreeNode* root) {if(!root)return 0;TreeNode *node root;int level 0;//通过遍历左孩子可以得知二叉树层数while(node -> left){level;node node -> left;}//left是最后一层的最左节点&#xff0c; right是最底层理论上的最…

leetcode[1706]球会落何处 python3实现(dfs,官方题解for else语法)

# 用一个大小为 m x n 的二维网格 grid 表示一个箱子。你有 n 颗球。箱子的顶部和底部都是开着的。 # # 箱子中的每个单元格都有一个对角线挡板&#xff0c;跨过单元格的两个角&#xff0c;可以将球导向左侧或者右侧。 # # # 将球导向右侧的挡板跨过左上角和右下角&…

Leecode 第 292 场周赛 6057. 统计值等于子树平均值的节点数

原题链接&#xff1a;6057. 统计值等于子树平均值的节点数 自己在考场上写的&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullpt…

Leecode 第 292 场周赛 6059. 检查是否有合法括号字符串路径 DFS/DP

原题链接&#xff1a;6059. 检查是否有合法括号字符串路径 DFS参考题解&#xff1a;DFS 检查是否有合法括号字符串路径 class Solution { public:int v[110][110][220];bool dfs(vector<vector<char>>& grid,int i,int j,int s){int mgrid.size(),ngrid[0…

P2404 自然数的拆分问题

题目描述 任何一个大于 11 的自然数 n&#xff0c;总可以拆分成若干个小于 n 的自然数之和。现在给你一个自然数 n&#xff0c;要求你求出 n 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列&#xff0c;其中字典序小的序列需要优先输出…

Leecode 131. 分割回文串 DFS+回溯

原题链接&#xff1a;Leecode 131. 分割回文串 动态规划预处理回溯 class Solution { public:vector<vector<string>> res;vector<vector<bool>> f;vector<string> t;void dfs(string s,int i){if(is.size()){res.push_back(t);return;}for(i…

Leecode 491. 递增子序列 DFS+回溯+剪枝

原题链接&#xff1a;Leecode 491. 递增子序列 自己写的代码&#xff1a;每一个层次利用set去重 class Solution { public:vector<vector<int>> res;vector<int> v;void dfs(vector<int>& nums,int start){if(startnums.size()) return;set<i…

( “树” 之 DFS) 112. 路径总和 ——【Leetcode每日一题】

112. 路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 叶子节点…

【蓝桥杯试题】 递归实现指数型枚举例题

&#x1f483;&#x1f3fc; 本人简介&#xff1a;男 &#x1f476;&#x1f3fc; 年龄&#xff1a;18 &#x1f91e; 作者&#xff1a;那就叫我亮亮叭 &#x1f4d5; 专栏&#xff1a;蓝桥杯试题 文章目录1. 题目描述2. 思路解释2.1 时间复杂度2.2 递归3. 代码展示最后&#x…

图论专题(一)

图论专题(一) 参考文献 BFS和DFS的直观解释 https://blog.csdn.net/c406495762/article/details/117307841Leetcode岛屿问题系列分析 https://blog.csdn.net/qq_39144436/article/details/124173504多源广度优先 https://blog.csdn.net/peko1/article/details/121989497拓扑排…

【算法每日一练]-图论(保姆级教程 篇2(topo排序,并查集,逆元))#topo排序 #最大食物链 #游走 #村村通

今天讲topo排序 目录 题目&#xff1a;topo排序 思路&#xff1a; 题目&#xff1a;最大食物链 解法一&#xff1a; 解法二&#xff1a; 记忆化 题目&#xff1a;村村通 思路&#xff1a; 前言&#xff1a;topo排序专门处理DAG&#xff08;有向无环图&#xff09; 题目…

【限时免费】20天拿下华为OD笔试【DFS/BFS】2023B-Linux发行版的数量【欧弟算法】全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入描述输出描述说明示例一输入输出说明 解题思路代码解法一&#xff1a;BFS解法二&#xff1a;DFS时空复杂度 题目描述与示例 题目描述 Linux 操作系统有多个发行版&#xff0c;distrowatch.com 提供了各个发行版的资料。这些发行版互相存在…

【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(1)

目录 写在前面&#xff1a; 题目&#xff1a;P1036 [NOIP2002 普及组] 选数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 解题思路&#xff1a; 代码&…

[算法日志]图论: 深度优先搜索(DFS)

[算法日志]图论&#xff1a; 深度优先搜索(DFS) 深度优先概论 ​ 深度优先搜索算法是一种遍历图这种数据结构的算法策略&#xff0c;其中心思想是朝图节点的一个方向不断跳转&#xff0c;当该节点无下一个节点或所有方向都遍历完时&#xff0c;便回溯朝上一个节点的另一个方向…

代码随想录算法训练营第25天|● 216.组合总和III ● 17.电话号码的字母组合

216. 组合总和 III 已解答 中等 相关标签 相关企业 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。…

算法练习-LeetCoe 733. Flood Fill

题目地址&#xff1a;https://leetcode.com/problems/flood-fill/description/解题思路&#xff1a;深度优先搜索code&#xff08;java&#xff09;&#xff1a;public int[][] floodFill(int[][] image, int sr, int sc, int newColor) {int oldColor image[sr][sc];if (oldC…

C语言:L1-004 计算摄氏温度 (5 分)

文章目录一、题目二、方法11、代码一、题目 给定一个华氏温度 F&#xff0c;本题要求编写程序&#xff0c;计算对应的摄氏温度 C。 计算公式&#xff1a;C 5 ( F − 32 ) / 9。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出一个华氏温度。 输出格式: 在一行…

图的邻接矩阵与搜索

问题描述 【问题描述】 给定一个无向图&#xff0c;创建图的邻接矩阵表示&#xff0c;并对无向图进行深度和广度遍历。 【输入形式】 输入图的顶点序列&#xff08;以#结束&#xff09;和图的边&#xff08;以输入-1&#xff0c;-1作为结束&#xff09;。 ABCDEFGH# 0,1 0,2 0…

Python|每日一练|算法初阶|字符串|树|深度优先搜索|单选记录:循环随机取数组直到得出指定数字|有效数字|平衡二叉树

1、循环随机取数组直到得出指定数字&#xff1f;&#xff08;算法初阶&#xff09; 贡献者&#xff1a;weixin_30937093 举个例子&#xff1a; 随机数字范围&#xff1a;0~100 每组数字量&#xff1a;6&#xff08;s1,s2,s3,s4,s5,s6&#xff09; 第二轮开始随机数字范围&…

[100天算法】-给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合(day 80)

题目描述 给定两个整数 n 和 k&#xff0c;返回 1 ... n 中所有可能的 k 个数的组合。示例:输入: n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/combin…

LeetCode之团灭字典序相关题目

目录 386之字典序排数(相关话题:n叉树的深度遍历) 题目描述 解题思路 代码实现 440. 字典序的第K小数字(相关话题:n叉树的深度条件遍历) 题目描述 解题思路 相关题目 386之字典序排数(相关话题:n叉树的深度遍历) 题目描述 给你一个整数 n &#xff0c;按字典序返回…

【DFS】200.岛屿数量

题目 法1&#xff1a;岛屿数量 class Solution {public int numIslands(char[][] grid) {int m grid.length, n grid[0].length;int[][] used new int[m][n];int res 0;for (int i 0; i < m; i) {for (int j 0; j < n; j) {if (grid[i][j] 0 || used[i][j] 1) …

每天一道算法练习题--Day15 第一章 --算法专题 --- -----------二叉树的遍历

概述 二叉树作为一个基础的数据结构&#xff0c;遍历算法作为一个基础的算法&#xff0c;两者结合当然是经典的组合了。很多题目都会有 ta 的身影&#xff0c;有直接问二叉树的遍历的&#xff0c;有间接问的。比如要你找到树中满足条件的节点&#xff0c;就是间接考察树的遍历…

【2023春招】西山居游戏研发岗笔试AK

120min,一共三道算法、两道填空、10道不定项选择 算法题部分 T1-二叉树后序遍历 题面 一个节点数据为整数的二叉搜索树,它的遍历结果可以在内存中用一个整数数组来表示。比如,以下二叉树,它每个节点的左子节点都比自己小,右子节点都比自己大,对它进行后序遍历,结果可以…

AcWing 198. 反素数

[TOC] 题意 对于任何正整数 x&#xff0c;其约数的个数记作 g(x)&#xff0c;例如 g(1)1、g(6)4。如果某个正整数 x 满足&#xff1a;对于任意的小于 x 的正整数 i&#xff0c;都有 g(x)>g(i)&#xff0c;则称 x 为反素数。 例如&#xff0c;整数 1&#xff0c;2&#xff…

力扣124. 二叉树中的最大路径和(java DFS解法)

Problem: 124. 二叉树中的最大路径和 文章目录 题目描述思路解题方法复杂度Code 题目描述 二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经…

开心消消乐

方法&#xff1a;记忆化搜索 我们定义 dp[l][r][x]dp[l][r][x]dp[l][r][x]​ 代表在区间 [l,r][l,r][l,r]&#xff0c;且 rrr 右侧拥有 xxx 个与右端点颜色相同的点的情况下所能得到的最优解。 若 l r &#xff0c;此时 dp[l][r][x]dp[l][r][x]dp[l][r][x] 的结果为&#xff…

【每日一题Day154】LC1626无矛盾的最佳球队 | 动态规划

无矛盾的最佳球队【LC1626】 假设你是球队的经理。对于即将到来的锦标赛&#xff0c;你想组合一支总体得分最高的球队。球队的得分是球队中所有球员的分数 总和 。 然而&#xff0c;球队中的矛盾会限制球员的发挥&#xff0c;所以必须选出一支 没有矛盾 的球队。如果一名年龄较…

回溯算法(排列/组合/子集)

排列 无重复元素全排列 题目链接&#xff1a; 全排列https://leetcode.cn/problems/permutations/ 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 示例&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,…

小猫爬山(DFS+剪枝)

目录题目描述分析优化1优化2Code题目描述 翰翰和达达饲养了 NNN 只小猫&#xff0c;这天&#xff0c;小猫们要去爬山。 经历了千辛万苦&#xff0c;小猫们终于爬上了山顶&#xff0c;但是疲倦的它们再也不想徒步走下山了&#xff08;呜咕>_<&#xff09;。 翰翰和达达…

二叉树最大深度

LeetCode104 二叉树的最大深度&#xff0c;地址: https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/ 树结点定义 class TreeNode(object):def __init__(self, val, leftNone, rightNone):self.val valself.left leftself.right right递归方式 递归方式比较…

蓝桥杯练习题(十二)

&#x1f4d1;前言 本文主要是【算法】——蓝桥杯练习题&#xff08;十二&#xff09;的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他…

自然数的拆分问题 字典序

目录 自然数的拆分问题 字典序 程序设计 程序分析 自然数的拆分问题 字典序 对于大于1的自然数N,可以拆分成若干个大于等于1的自然数之和。 Input 一个大于1的自然数N Output 所有的拆分情况.按字典序排列。 Sample Input

LeetCode算法心得——路径总和||(dfs+双端队列+链表)

大家好&#xff0c;我是晴天学长&#xff0c;简单树的经典题目&#xff0c;是dfs的开端啊&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。 1) .路径总和|| 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子…

【数据结构与算法】第十九篇:回溯,剪枝,N皇后问题

知识导航一、回溯思想概述二、八皇后问题引入八皇后问题的解决思路(1)思路一&#xff1a;暴力出奇迹(2&#xff09;思路二&#xff1a;根据题意减小暴力程度(3&#xff09;思路三&#xff1a;回溯法剪枝三、四皇后问题八皇后问题四、N皇后的实现1.实现方法一&#xff1a;利用数…

【lc刷题 day7】二叉搜索树与双向链表 字符串的排列 最小的k个数 连续子数组的最大和 数字序列中某一位的数字 把数字翻译成字符串

剑指offer 36.二叉搜索树与双向链表 medium /* // Definition for a Node. class Node {public int val;public Node left;public Node right;public Node() {}public Node(int _val) {val _val;}public Node(int _val,Node _left,Node _right) {val _val;left _left;right…

2316. 统计无向图中无法互相到达点对数

给你一个整数 n &#xff0c;表示一张 无向图 中有 n 个节点&#xff0c;编号为 0 到 n - 1 。同时给你一个二维整数数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示节点 ai 和 bi 之间有一条 无向 边。 请你返回 无法互相到达 的不同 点对数目 。 时间复杂度&#xff1…

力扣第572题 另一棵树的子树 c++深度(DFS)注释版

题目 572. 另一棵树的子树 简单 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有…

【回溯】总结

1、 组合和子集问题 组合问题需要满足一定要求才算作一个答案&#xff0c;比如数量要求&#xff08;k个数&#xff09;&#xff0c;累加和要求&#xff08;target&#xff09;。 子集问题是只要构成一个新的子集就算作一个答案。 进阶&#xff1a;去重逻辑。 一般都是要对同…

面试题68:二叉搜索树的最近公共祖先

面试题68&#xff1a;二叉搜索树的最近公共祖先 (1)给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 // 二叉搜索树&#xff01; class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if(p->val > q->…

挑战程序设计——部分和问题

给定 nn 个整数&#xff0c;判断是否能选出若干个数&#xff0c;使得它们的和恰好为 kk。 输入 多组测试数据&#xff0c;以 EOF 结束每组测试数据由以下部分组成&#xff1a; 第一行为整数 n(1 \leq n \leq 20)n(1≤n≤20)第二行为 nn 个整数 a_i(-10^8 \leq a_i \leq 10^8)…

C++ 树与图的深度优先遍历 || 模版题:树的重心

树和无向图都可以看成有向图&#xff08;无向图在添加边的时候添加双向的&#xff09; 下面是模版&#xff0c;实际使用要根据情况改&#xff1a; #include <iostream> #include <cstring> using namespace std;const int N 10010, M N * 2;int n; int h[N], e[…

CSDN每日一题学习训练——Python版(N皇后 II、买卖股票的最佳时机 II、编程通过键盘输入每一位运动员)

版本说明 当前版本号[20231120]。 版本修改说明20231120初版 目录 文章目录 版本说明目录N皇后 II题目解题思路代码思路参考代码 买卖股票的最佳时机 II题目解题思路代码思路参考代码 编程通过键盘输入每一位运动员题目解题思路代码思路参考代码 N皇后 II 题目 n 皇后问题…

《LC刷题总结》—— 二叉树

leetcode 递归函数何时需要返回值 递归函数什么时候需要返回值&#xff1f;什么时候不需要返回值&#xff1f;这里总结如下三点&#xff1a; 如果需要搜索整棵二叉树 如果不用处理递归返回值&#xff0c;递归函数就不要返回值。&#xff08;113.路径总和ii&#xff1a;找到所…

《LC刷题总结》——回溯

回溯模板 void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择&#xff1a;本层集合中元素&#xff08;树中节点孩子的数量就是集合的大小&#xff09;) {处理节点;backtracking(路径&#xff0c;选择列表); // 递归回溯&#xff0c;撤销处理结果} }其中&…

cf1406 C 树的重心

题意&#xff1a;https://www.luogu.com.cn/problem/CF1406C 思路&#xff1a;首先需要知道树的重心的一些性质&#xff0c;可以看看这篇文章 https://zhuanlan.zhihu.com/p/357938161 那么这题就是找出重心&#xff0c;如果有两个就将他的一个子树移到另一个重心上。 /*ke…

day018 第六章 二叉树 part05

一、513.找树左下角的值 这个题目的主要思路是使用广度优先搜索&#xff08;BFS&#xff09;遍历整棵树&#xff0c;最后返回最后一层的最左边的节点的值。具体的实现可以使用队列来存储每一层的节点&#xff0c;并且在遍历每一层节点时&#xff0c;不断更新最左边的节点的值。…

使用颜色检测有向图中的循环

给定一个有向图,检查该图是否包含循环。如果给定的图形至少包含一个循环,您的函数应返回 true,否则返回 false。 例子: 输入: n = 4, e = 6 0 -> 1, 0 -> 2, 1 -> 2, 2 -> 0, 2 -> 3, 3 -> 3 输出:是 解释: <

沉岛思想(BFS)-朋友圈思想(并查集)

本篇博客旨在记录自已笔记&#xff0c;同时希望可给小伙伴一些帮助。本人也是算法小白&#xff0c;水平有限&#xff0c;如果文章中有什么错误之处&#xff0c;希望小伙伴们可以在评论区指出来&#xff0c;共勉 &#x1f4aa;。 沉岛思想&#xff1a; 题目&#xff1a; 给定一…

( “树” 之 DFS) 687. 最长同值路径 ——【Leetcode每日一题】

687. 最长同值路径 给定一个二叉树的 root &#xff0c;返回 最长的路径的长度 &#xff0c;这个路径中的 每个节点具有相同值 。 这条路径可以经过也可以不经过根节点。 两个节点之间的路径长度 由它们之间的边数表示。 示例 1: 输入&#xff1a;root [5,4,5,1,1,5] 输出&…

判断欧拉回路

目录 欧拉回路 程序设计 程序分析 欧拉回路 【问题描述】 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路? 【输入形式】 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数…

非递归的方式实现排列和组合类DFS

欢迎来到『九章算法班 2021 版』的第36节课&#xff0c;今天我们一起来学习『非递归的方式实现排列和组合类DFS』 在前面的学习中我们学习了递归实现排列组合问题&#xff0c;在本章中我们将学习非递归的实现。 本章关键字&#xff1a;Combination&#xff08;组合&#xff0…

确定比赛名次(深搜拓扑排序)

文章目录 确定比赛名次(深搜拓扑排序)程序设计程序分析确定比赛名次(深搜拓扑排序) 【问题描述】 有N个比赛队,编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道…

回溯递归(例题+思路+代码)

题目描述 leetcode 77 思路 组合问题适合用回溯求解。 经典解法&#xff1a;for循环 内部回溯。 每次进入回溯方法时&#xff0c;先判断终止条件&#xff0c;再进行当前层的循环&#xff0c;循环进行下一层递归。 代码 class Solution {public List<List<Integer&…

[邻接表形式]有向图的建立与深度,广度遍历

目录 DirectedGraph类的构成 构造函数 析构函数 深度优先遍历 广度优先遍历 前文回顾: [邻接矩阵形式]无向图的建立与深度,广度遍历_☆迷茫狗子的秘密基地☆-CSDN博客目录MGraph类构造函数深度优先遍历广度优先遍历MGraph类const int N 10;int visit[N]; // 顶点是否被访…

【LeetCode】199.二叉树的右视图

1.问题 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: []…

2022.09 青少年Python等级考试(六级) 编程题部分

2022.09 青少年Python等级考试 编程题部分(共3题,共30分)36.小明编写一个类实现设置马的品种、年龄、性别及速度,输出相应的语句,请补全代码。 如下代码输出结果为“一匹阿拉伯12岁的公马,在草原上奔跑的速度为50km/h”。 class ① : def __init__(se…

深度优先搜索(DFS)-蓝桥杯

一、搜索搜索是“暴力法”算法思想的具体实现。搜索是“通用”的方法。一个问题&#xff0c;如果比较难&#xff0c;那么先尝试一下搜索&#xff0c;或许能启发出更好的算法。技巧:竞赛时遇到不会的难题&#xff0c;用搜索提交一下&#xff0c;说不定部分判题数据很弱&#xff…

【洛谷 P1618】三连击(升级版)题解(深度优先搜索+位集合)

三连击&#xff08;升级版&#xff09; 题目描述 将 1,2,…,91, 2,\ldots, 91,2,…,9 共 999 个数分成三组&#xff0c;分别组成三个三位数&#xff0c;且使这三个三位数的比例是 A:B:CA:B:CA:B:C&#xff0c;试求出所有满足条件的三个三位数&#xff0c;若无解&#xff0c;输…

196、【动态规划】AcWing —— 285. 没有上司的舞会(C++版本)

题目描述 原题链接&#xff1a;285. 没有上司的舞会 解题思路 题目是要构造一个树形关系&#xff0c;在选择时&#xff0c;有直接上下级关系的不能选&#xff0c;但是对于有间接上下级关系的和非上下级关系的都可以选。 动态规划五步曲&#xff1a; &#xff08;1&#xff…

寒假所学算法复习3月12总结

3月12复习了深度优先搜索(dfs)和广度优先搜索(bfs) 刷了洛谷上的一道题:[POI2007]GRZ-Ridges and Valleys - 洛谷 原本想用dfs写,但写到一半,发现思路不对,于是又用bfs去写,思路如下: 地图上有三种区域,山峰,山谷,山坡,当一个相同数的区域的周围全是比这个数要小的数这个区域…

蓝桥杯每日一真题——[蓝桥杯 2022 省 B] 扫雷(dfs+二分)

文章目录题目&#xff1a;[蓝桥杯 2022 省 B] 扫雷题目描述输入格式输出格式样例样例输入样例输出提示思路 1&#xff1a;输入数据&#xff0c;用结构体和数组存 2&#xff1a;sort一下变成有序&#xff0c;就可以用二分了&#xff1b; 3&#xff1a;dfs遍历 4&#xff1a;在df…

Leetcode.1593 拆分字符串使唯一子字符串的数目最大

题目链接 Leetcode.1593 拆分字符串使唯一子字符串的数目最大 Rating &#xff1a; 1740 题目描述 给你一个字符串 s&#xff0c;请你拆分该字符串&#xff0c;并返回拆分后唯一子字符串的最大数目。 字符串 s拆分后可以得到若干 非空子字符串 &#xff0c;这些子字符串连接后…

全排列——dfs(数据型)初步详解

输入 n,输出1-n的全排列 0<n<10 #include <iostream>using namespace std; int n; int a[10]; bool vis[10]; //避免重复搜索&#xff0c;标记是否已搜过(默认为0) void dfs(int step)//深度&#xff0c;想象站在放置数字卡片的第step个盒子面前 {if(stepn1)…

算法---被围绕的区域

题目 给你一个 m x n 的矩阵 board &#xff0c;由若干字符 ‘X’ 和 ‘O’ &#xff0c;找到所有被 ‘X’ 围绕的区域&#xff0c;并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例 1&#xff1a; 输入&#xff1a;board [[“X”,“X”,“X”,“X”],[“X”,“O”,“O”…

深度优先搜索(DFS)

深度优先搜索(DFS) 基本概念 深度优先搜索算法&#xff08;Depth First Search&#xff0c;简称DFS&#xff09;&#xff1a;一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点&#xff0c;尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满…

B. Fish Graph(dfs找环)

Problem - 1817B - Codeforces 给定一个具有n个节点和m条边的简单无向图。请注意&#xff0c;该图不一定是连通的。节点从1到n标记。 如果图包含具有特殊节点u的简单循环&#xff0c;则定义图为Fish Graph。除循环中的边之外&#xff0c;图应恰好有2条额外的边。两条边都应连接…

Java实现深度优先和宽度优先搜索(图遍历)

深度优先和宽度优先搜索 本质是一种图遍历/搜索算法。 深度优先(DFS) 对于新发现的顶点&#xff0c;若该点还有以此为起点的为探测到的边&#xff0c;则沿着这条边继续探测下去(明显是个递归过程)。当顶点v所有边都已被探寻过后&#xff0c;搜索将回到发现顶点v有起始的那些边…

走迷宫问题

目录 走迷宫 程序设计 程序分析 走迷宫 【问题描述】有一个m*n格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,输入这m*n个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要…

【算法基础】DP第三弹 —— 竞赛篇

一、计数问题 (一)Question 1. 问题描述 2. Input 输入包含多组测试数据。每组测试数据占一行,包含两个整数 a 和 b。当读入一行为 0 0 时,表示输入终止,且该行不作处理。(0 < a, b < 100000000) 3. Output 每组数据输出一个结果,每个结果占一行。每个结果包…

算法之搜索专题

搜索 深度优先搜索&#xff08;DFS&#xff09;和广度优先搜索&#xff08;BFS&#xff09;都是常见的图搜索算法。它们的目的是访问和遍历图中的所有节点&#xff0c;并找到满足特定条件的节点。虽然这两种算法的实现方式不同&#xff0c;但它们都有以下的特点。 首先&#…

Leecode 1034. 边界着色 DFS/BFS

原题链接&#xff1a;Leecode 1034. 边界着色 这题题目不太好理解 DFS class Solution { public:int x[4]{-1,1,0,0};int y[4]{0,0,-1,1};vector<vector<int>> vis;bool dfs(vector<vector<int>>& grid,int i,int j,int col,int color){int mg…

Leecode 133. 克隆图 DFS/BFS

原题链接&#xff1a;Leecode 133. 克隆图 官解&#xff1a;Leecode 133. 克隆图 DFS /* // Definition for a Node. class Node { public:int val;vector<Node*> neighbors;Node() {val 0;neighbors vector<Node*>();}Node(int _val) {val _val;neighbor…

Leecode 剑指 Offer 13. 机器人的运动范围 DFS

原题链接:Leecode 剑指 Offer 13. 机器人的运动范围 class Solution { public:vector<vector<int>> vis;int res0;int x[4]{-1,1,0,0};int y[4]{0,0,-1,1};int fun(int a,int b){int sum0;while(a){suma%10; a/10;}while(b){sumb%10; b/10;}return sum;}void dfs…

Leecode 1079. 活字印刷 DFS+回溯+剪枝

原题链接&#xff1a;Leecode 1079. 活字印刷 class Solution { public:vector<int> v;int res0;void dfs(string tiles){for(int i0;i<tiles.size();i){if (v[i] || (i && tiles[i]tiles[i-1] && !v[i-1])) continue;v[i]1;res;dfs(tiles);v[i]0;}…

【剑指 Offer 54. 二叉搜索树的第k大节点】

【解题思路】 先将二叉树中的数字放在数组中&#xff0c;对数组进行排序。对二叉树使用先序遍历。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ class…

对递归回溯生成随机迷宫的演示

回顾: [python实现] 递归回溯(深度优先)构造随机迷宫_☆迷茫狗子的秘密基地☆-CSDN博客https://blog.csdn.net/qq_39391544/article/details/121306611 在上次的基础上稍加改动,可以更加直观地欣赏整个过程 美中不足的是我想不停地原地输出并刷新,可惜找了很多文章都没能达到…

[D-OJ练习] 有向图的邻接表表示法验证程序(两种写法)

用邻接表表示有向图&#xff0c;完成图的创建、图的深度优先遍历、图的广度优先遍历操作。其中图的顶点信息是字符型&#xff0c;图中顶点序号按字符顺序排列&#xff0c;边的输入按照边的顶点序号从小到大的顺序排列&#xff0c;如下图的边的输入顺序为0 1&#xff0c;0 2&…

Leecode刷题笔记 回溯

回溯的关键是&#xff1a; for循环里面是对树的每层横向遍历 递归之间是dfs纵向遍历 for循环里把traceback去掉就是这一层横着的遍历&#xff0c;for循环里就是横向该怎么设计 回溯几个要素&#xff1a;终止条件是什么&#xff1f;怎么做选择&#xff1f;选择后怎么pop&#xf…

Leecode 200. 岛屿数量 DFS/BFS

原题链接&#xff1a;Leecode 200. 岛屿数量 DFS: class Solution { public:void dfs(vector<vector<char>>& grid,int i,int j){int mgrid.size(),ngrid[0].size();grid[i][j]2;if(i && grid[i-1][j]1) dfs(grid,i-1,j);if(i1<m && gri…

Leecode 93. 复原 IP 地址 DFS+剪枝

原题链接&#xff1a;Leecode 93. 复原 IP 地址 class Solution { public:vector<string> res;void dfs(string s,string t,int start,int n){if(n4 && starts.size()){t.pop_back();res.push_back(t);return ;}for(int len1;len<3 && startlen&l…

Leecode 129. 求根节点到叶节点数字之和 DFS

原题链接&#xff1a;Leecode 129. 求根节点到叶节点数字之和 代码一 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNod…

2023/4/25

今天主要重新复习了一下树的基础知识&#xff0c;对于树的遍历和深度的求解进行了一些训练&#xff08;复习了一下写过的题&#xff09; 刷了两个关于树的简单题 104. 二叉树的最大深度 难度简单1586收藏分享切换为英文接收动态反馈 给定一个二叉树&#xff0c;找出其最大深度…

图的遍历(深度DFS与广度BFS)

文章目录图的遍历深度优先遍历思路邻接表邻接矩阵性能分析广度优先遍历思路邻接表邻接矩阵性能分析源代码图的遍历 **对有向图和无向图进行遍历是按照某种次序系统地访问图中的所有顶点, 并且使得每一个顶点只能访问一次. ** 对于图的遍历需要解决掉两个问题: 如果存在回路/环…

日撸 Java 三百行day38

文章目录 说明day381.Dijkstra 算法思路分析2.Prim 算法思路分析3.对比4.代码 说明 闵老师的文章链接&#xff1a; 日撸 Java 三百行&#xff08;总述&#xff09;_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护&#xff1a;https://github.com/fulisha-ok/…

算法第十期——DFS(深度优先搜索)的剪枝优化

目录 DFS:剪枝 DFS:有哪些剪枝方法 DFS例题一&#xff1a;剪格子 【思路】 DFS例题二&#xff1a;路径之谜 【样例分析】 DFS例题三&#xff1a;四阶幻方 【思路】 【做法一】 【做法二】 DFS例题三&#xff1a;分考场 【样例分析】 【思路】 DFS习题 DFS:剪…

leetcode刷题 | 关于二叉树的题型总结2

leetcode刷题 | 关于二叉树的题型总结2 文章目录leetcode刷题 | 关于二叉树的题型总结2题目链接求根节点到叶节点数字之和路径总和 III二叉树中的最大路径和题目链接 129. 求根节点到叶节点数字之和 - 力扣&#xff08;LeetCode&#xff09; 437. 路径总和 III - 力扣&#x…

Python:每日一题之剪格子(DFS剪枝)

题目描述 如下图所示&#xff0c;3 x 3 的格子中填写了一些整数。 我们沿着图中的红色线剪开&#xff0c;得到两个部分&#xff0c;每个部分的数字和都是 60。 本题的要求就是请你编程判定&#xff1a;对给定的 mn 的格子中的整数&#xff0c;是否可以分割为两个部分&#xf…

CSP-《I‘m stuck!》-感悟

题目 做题过程 注&#xff1a;黄色高亮表示需要注意的地方&#xff0c;蓝色粗体表示代码思路 好久没有写过代码了&#xff0c;今天做这道编程题&#xff0c;简直是灾难现场。 上午编程完后发现样例没有通过&#xff0c;检查发现算法思路出现了问题&#xff1a;我计数了S不能到…

【拓扑排序】课程表系列

文章目录 课程表&#xff08;环检测算法&#xff09;1. DFS2. BFS 课程表 II&#xff08;拓扑序列&#xff09;1. DFS2. BFS 课程表 IV&#xff08;记忆化搜索&#xff09;1. DFS2. BFS 课程表&#xff08;环检测算法&#xff09; 1. DFS 先修课程之间的关系可以用有向图表示&…

第五、六章 贪心算法、回溯算法

贪心算法 适合于贪心算法求解的问题具有&#xff1a;贪心选择性质、最优子结构性质。 贪心算法可以获取到问题的局部最优解&#xff0c;不一定能获取到全局最优解。 贪心算法总是作出在当前看来最好的选择&#xff1b;并且每次贪心选择都能将问题化简为一个更小的与原问题具有…

路径之谜

题目描述 小明冒充 X 星球的骑士,进入了一个奇怪的城堡。 城堡里边什么都没有,只有方形石头铺成的地面。 假设城堡地面是 nn 个方格。如下图所示。

LC-1376. 通知所有员工所需的时间(DFS:自上而下、自下而上)

1376. 通知所有员工所需的时间 难度中等125 公司里有 n 名员工&#xff0c;每个员工的 ID 都是独一无二的&#xff0c;编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。 在 manager 数组中&#xff0c;每个员工都有一个直属负责人&#xff0c;其中 manager[i] 是第…

【学习笔记】CF627F Island Puzzle

好啊&#xff0c;树上贪心题。 首先可以用类似于拓扑排序的过程将无用的节点全部删掉。 具体的&#xff0c;如果两个叶子节点对应的值恰好相同&#xff0c;那么同时将叶子节点删去&#xff1b;如果其中一个叶子节点对应的是 0 0 0&#xff0c;并且与父节点交换后相同&#xf…

深度遍历模版与广度遍历模版

深度优先遍历 //void dfs(中间容器&#xff0c;数据) //{ // if(临界走到末尾) // { // 中间容器加到最终容器 // return&#xff1b; // } // for(做选择) // { // 改变中间容器 // dfs(中间容器&#xff0c;数据) // 撤回…

Acwing---843. n-皇后问题

n-皇后问题1.题目2.基本思想3.代码实现1.题目 n−皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上&#xff0c;使得皇后不能相互攻击到&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n&#xff0c;请你输出所有的满足条件的棋子摆法。 …

算法刷题-无重复字符的最长子串(哈希表、字符串)、数字 1 的个数(递归、数学)、对称二叉树(树、深度优先搜索)

无重复字符的最长子串(哈希表、字符串) 给定一个字符串&#xff0c;请你找出其中不含有重复字符的 **最长子串 **的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。示例 2: 输入: s…

PAT 甲 1079 Total Sales of Supply Chain

2022.1.28 练习 PAT甲 1079 Total Sales of Supply Chain &#xff08;原题链接&#xff09; 题解如下&#xff1a; #include <bits/stdc.h> using namespace std; const int MAX_SIZE100010; int n; double p,r;struct node {int data;vector<int> child; }Node…

【2023华为OD笔试必会20题--C语言版】《03 单入口空闲区域》——递归、数组、DFS

题目描述 给定一个 mn的矩阵,由若干字符 X 和 O构成, X表示该处已被占据,O表示该处空闲,请找到最大的单入口空闲区域。 空闲区域是由连通的O组成的区域,位于边界的O可以构成入口, 单入口空闲区域即有且只有一个位于边界的O作为入口的由连通的O组成的区域。 如果两个元…

Atcoder Beginner Contest 308

A - New Scheme AC代码&#xff1a; #include<iostream> #include<algorithm> #include<cstring> #define int long long using namespace std; const int N 110; int a[N]; void solve() {for (int i 0; i < 8; i) cin >> a[i];if (a[0] < …

队列——“数据结构与算法”

各位CSDN的uu们你们好呀&#xff0c;又好久不见啦&#xff0c;最近有点摆烂&#xff0c;甚是惭愧&#xff01;&#xff01;&#xff01;&#xff01;今天&#xff0c;小雅兰的内容是队列&#xff0c;下面&#xff0c;让我们进入队列的世界吧&#xff01;&#xff01;&#xff0…

洛谷 单词接龙 dfs 字符串处理

&#x1f351; NOIP2000 提高组 单词接龙 题目背景 注意&#xff1a;本题为上古 NOIP 原题&#xff0c;不保证存在靠谱的做法能通过该数据范围下的所有数据。 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏&#xff0c;现在我们已知一组单词&#xff0c;且给…

算法基础学习笔记——⑩DFS与BFS\树与图

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;算法基础学习 目录 DFS与BFS\树与图 ✨DFS ✨BFS &#x1f353;宽搜流程图如下&#xff1a; &#x1f353;宽搜流程&#xff1a; &#x1f353;广搜模板 ✨树与图 &#x1f353;树是特殊的图&#xff08;连通无环的图&am…

LeetCode-0607

90. 子集 II(中等) 思路&#xff1a;在深搜的过程中不断加入子集合&#xff0c;并且同层次&#xff08;同一层for&#xff09;的搜索里面去掉重复元素 class Solution {private List<List<Integer>> res;public List<List<Integer>> subsetsWithDup(…

【每日一题Day244】LCP 41. 黑白翻转棋 bfs dfs

LCP 41. 黑白翻转棋 在 n*m 大小的棋盘中&#xff0c;有黑白两种棋子&#xff0c;黑棋记作字母 "X", 白棋记作字母 "O"&#xff0c;空余位置记作 "."。当落下的棋子与其他相同颜色的棋子在行、列或对角线完全包围&#xff08;中间不存在空白位置…

【算法证明 七】深入理解深度优先搜索

深度优先搜索包含一个递归&#xff0c;对其进行分析要复杂一些。与上一篇文章一样&#xff0c;还是给节点定义几个状态&#xff0c;然后详细分析深度优先搜索算法有哪些性质。 算法描述 定义状态 v . c o l o r &#xff1a;初始状态为白色&#xff0c;被发现时改为灰色&…

AcWing 844.走迷宫

844. 走迷宫 - AcWing题库 就是要我们求最短路&#xff0c;可以用bfs。 那么这题目&#xff0c;如果用dfs会有什么情况。 bfs用队列实现&#xff0c;对于为何用队列实现。可以看一下这篇文章【图解算法】BFS 为什么需要 Queue - 知乎 (zhihu.com) 对于 BFS 算法&#xff0c;正…

CS224W Lecture5笔记

Message Passing and Node Classification lecture 5主要介绍的是一种用于结点分类的Framework: Message Passing。在结点分类中&#xff0c;我们的任务其实是semi-supervised&#xff1a;已知部分结点的label&#xff0c;预测未知结点的label。而Message Passing是一种利用了…

摘桃子(思维)

LINK 题目 思路&#xff1a; 先将每个人拥有的桃子数量减1&#xff0c;再将其求出前缀和&#xff08;求的同时直接modk)先将每个人拥有的桃子数量减1&#xff0c;再将其求出前缀和&#xff08;求的同时直接mod k)先将每个人拥有的桃子数量减1&#xff0c;再将其求出前缀和&…

Leetcode-D42-数组-39. 组合总和46. 全排列

一、复习 昨天没有写题&#xff0c;今天还是先复习一下t34 34、除了不确定while循环内是否加等号外&#xff0c;都很熟练了。【while内不需要加】 class Solution:def searchRange(self, nums: List[int], target: int) -> List[int]:n len(nums)if n0:return [-1,-1]if …

LeetCode-树-前序遍历(DFS)-二叉树的序列化与反序列化

1 题目 剑指 Offer 37. 序列化二叉树 剑指 Offer II 048. 序列化与反序列化二叉树 297. 二叉树的序列化与反序列化 对比“使用层序遍历的一个实现”&#xff1a;LeetCode-树-层序遍历(BFS)-二叉树的序列化与反序列化_hclbeloved的博客-CSDN博客 2 实现 // 此时使用的是 D…

Leecode 1593. 拆分字符串使唯一子字符串的数目最大 DFS+回溯+剪枝

原题链接&#xff1a;Leecode 1593. 拆分字符串使唯一子字符串的数目最大 class Solution { public:map<string,int> vis;int res0;void dfs(string s,int i,int sum){if(is.size()){resmax(res,sum);return ;}//剪枝 如果当前情况不论怎么拆分&#xff0c;得到子字符…

LeetCode-树-中序遍历(也就是DFS)

1 二叉树剪枝 814. 二叉树剪枝 剑指 Offer II 047. 二叉树剪枝 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x…

Leecode 130. 被围绕的区域 DFS

原题链接&#xff1a;Leecode 130. 被围绕的区域 DFS class Solution { public:int x[4]{-1,1,0,0};int y[4]{0,0,-1,1};void dfs(vector<vector<char>>& board,int i,int j){int mboard.size(),nboard[0].size();if(i<0 || i>m-1 || j<0 || j>…

Leecode 1020. 飞地的数量 DFS/BFS

原题链接&#xff1a;Leecode 1020. 飞地的数量 DFS class Solution { public:int x[4]{-1,1,0,0};int y[4]{0,0,-1,1};int sum0;bool dfs(vector<vector<int>>& grid,int i,int j){int mgrid.size(),ngrid[0].size();bool ffalse;if(i<0 || i>m-1 ||…

Leecode 695. 岛屿的最大面积 DFS/BFS

原题链接&#xff1a;Leecode 695. 岛屿的最大面积 DFS class Solution { public:int res0;void dfs(vector<vector<int>>& grid,int i,int j){int mgrid.size(),ngrid[0].size();grid[i][j]0;res;if(i && grid[i-1][j]) dfs(grid,i-1,j);if(i1<…

1123 取数游戏

1123 取数游戏 搜索&#xff0c;很简单的搜索 #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<string> #include<cstring> using namespace std; const int d[8][2]{1,0,-1,0,0,1,0,-1,1,1,-1,1,1,…

1025 数的划分

1025 数的划分 这不就是深搜吗&#xff0c;深搜填数 我记得原来zp老师讲过 这个题貌似非常的不好理解&#xff0c;需要认真来完成&#xff0c;解析 题意其实很好理解了&#xff0c;就是将一个数n分成k份&#xff0c;当然显而易见的就是每一份加起来就是n 这样类似于递推的题目…

1238 走迷宫

1238 走迷宫 em 做完这个题去提交作业 这个题应该又是一个图论 我最烦这样的路线输出题了&#xff0c;我服了 不过这个题就是一个搜索&#xff0c;简单的不能再简单的搜索&#xff0c;就是输出有点难 我试试 #include<iostream> #include<cstdio> #include<al…

二叉树(纲领篇)

文档阅读 文档阅读 二叉树解题的思维模式分两类&#xff1a; 1、是否可以通过遍历一遍二叉树得到答案&#xff1f;如果可以&#xff0c;用一个 traverse 函数配合外部变量来实现&#xff0c;这叫「遍历」的思维模式。 2、是否可以定义一个递归函数&#xff0c;通过子问题&a…

BFS,DFS python实现

队列 queue 特点&#xff1a;FIFO(first input ,first output)&#xff0c;从队头删除元素&#xff0c;在队尾加入元素 queue[] #初始化队列----列表 #向空队列加入元素 queue.append("A") queue.append("B") queue.append("C") print(queue) …

053、牛客网算法面试必刷TOP101--二叉树(230507)

文章目录 前言二叉树1、BM23 二叉树的前序遍历2、BM24 二叉树的中序遍历3、BM25 二叉树的后序遍历4、BM26 求二叉树的层序遍历5、BM27 按之字形顺序打印二叉树6、BM28 二叉树的最大深度7、BM29 二叉树中和为某一值的路径(一)8、BM30 二叉搜索树与双向链表9、BM31 对称的二叉树1…

leetcode[1219]黄金矿工 python3实现(dfs,回溯)

# 你要开发一座金矿&#xff0c;地质勘测学家已经探明了这座金矿中的资源分布&#xff0c;并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄 # 金数量&#xff1b;如果该单元格是空的&#xff0c;那么就是 0。 # # 为了使收益最大化&…

Acwing.842 排列数字(DFS实现全排列)

题目 给定一个整数n&#xff0c;将数字1~n排成一排&#xff0c;将会有很多种排列方法。 现在&#xff0c;请你按照字典序将所有的排列方法输出。 输入格式 共—行&#xff0c;包含一个整数n。输出格式 按字典序输出所有排列方案&#xff0c;每个方案占一行。 数据范围 1 ≤…

Tarjan求割点和桥学习笔记

Tarjan求割点和割边 强连通分量&#xff1a; 若图 GGG 中的点两两可达&#xff0c;则称图 GGG 为强连通。 强连通分量的定义&#xff1a;极大的强连通子图。 割点&#xff1a; 在一个无向连通图图中&#xff0c;删掉顶点 uuu 及其相连的边以后&#xff0c;这个图不连通&#…

76.二叉树的最近公共祖先

文章目录题目思路代码题目 思路 代码 class Solution:def lowestCommonAncestor(self, root: TreeNode, p: TreeNode, q: TreeNode) -> TreeNode:if not root or root p or root q: return rootleft self.lowestCommonAncestor(root.left, p, q)right self.lowestCommo…

75.二叉搜索树额最近公共祖先

文章目录题目思路代码题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个结点 p、q&#xff0c;最近公共祖先表示为一个结点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#…

Leecode 112. 路径总和 DFS

原题链接&#xff1a;添加链接描述 DFS /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(null…

Leecode 111. 二叉树的最小深度 DFS

原题链接&#xff1a;Leecode 111. 二叉树的最小深度 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x…

Leecode 104. 二叉树的最大深度 DFS

原题链接&#xff1a;Leecode 104. 二叉树的最大深度 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x)…

leecode 40. 组合总和 II dfs+回溯+剪枝+去重

原题链接&#xff1a;leecode 40. 组合总和 II 去重这一句很巧妙&#xff1a;if(i>now && candidates[i]candidates[i-1])&#xff0c;这句规定了在同一层次上&#xff0c;相同的数只能选一次。 class Solution { public:vector<vector<int>> res;ve…

Leecode 39. 组合总和 dfs+回溯+剪枝

原题链接&#xff1a;Leecode 39. 组合总和 dfs回溯剪枝 class Solution { public:vector<int> tmp;vector<vector<int>> res;void dfs(vector<int>& candidates, int target,int now){if(target0){res.push_back(tmp);return ;}if(target<c…

Leecode 37. 解数独 dfs+回溯

原题链接&#xff1a;Leecode 37. 解数独 巧用pair<int,int>存储空格的位置&#xff1a; 解法一&#xff1a;数组存储 class Solution { public:int row[10][10];//行int col[10][10];//列int box[10][10];//宫vector<pair<int, int>> t;bool validfals…

Leecode 52. N皇后 II 递归+回溯

原题链接&#xff1a;Leecode 52. N皇后 II 和这道题是一样的&#xff1a;Leecode 51. N 皇后 递归回溯 class Solution { public:bool f[10];int p[10];int res0;void dfs(int n,int now){if(nown){res;return ;}for(int i0;i<n;i){if(!f[i]){bool flagtrue;for(int j0…

Leecode 51. N 皇后 递归+回溯

原题链接&#xff1a;Leecode 51. N 皇后 同样的问题&#xff08;有注释版&#xff09;&#xff1a;Acwing 3472. 八皇后 递归回溯优化 class Solution { public:vector<vector<string>> res;bool f[10];int p[10];void dfs(int n,int now){if(nown1){vector<…

严蔚敏C语言无向图BFS和DFS代码实现

完整代码 #include<iostream> using namespace std; #define MVNum 100 //最大顶点数 #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define MAXSIZE 10typedef int Status; typedef struct {char vexs[MVNum];//顶点表int arcs[MVNum][MVNum];//邻接矩阵int vexn…

Leecode 47. 全排列 II dfs+去重+回溯

原题链接&#xff1a;Leecode 47. 全排列 II class Solution { public:vector<vector<int>> res;vector<int> tmp;map<int,int> m;void dfs(int n,vector<int>& nums){if(nnums.size()){res.push_back(tmp);return ;}for(int i0;i<num…

Leecode 46. 全排列 dfs+回溯

原题链接&#xff1a;Leecode 46. 全排列 解法一&#xff1a; class Solution { public:vector<vector<int>> res;vector<int> tmp;map<int,int> m;void dfs(int n,vector<int>& nums){if(nnums.size()){res.push_back(tmp);return ;}for…

CSP 201809-4 再卖菜 dfs

原题链接&#xff1a;CSP 201809-4 再卖菜 学习博客&#xff1a;ccf再卖菜 #include <bits/stdc.h> using namespace std; #define ll long long const int N310; int t;int a[N],b[N]; bool f[N][N][N];//储存状态信息&#xff0c;也就是dfs的n,x,y //分别是搜到第n天&…

深度优先遍历(DFS)和广度优先遍历(BFS)

文章目录深度优先遍历深度优先遍历的步骤代码运行结果广度优先遍历广度优先遍历的步骤代码运行结果深度优先遍历 深度优先遍历是从初始顶点出发,初始顶点可能存在有个邻接顶点,深度优先遍历的策略就是首先访问第一个邻接顶点,然后再以这个被访问的邻接顶点作为初始顶点访问它的…

AcWing 1118 分成互质组 dfs

题目描述&#xff1a; 给定 n 个正整数&#xff0c;将它们分组&#xff0c;使得每组中任意两个数互质。 至少要分成多少个组&#xff1f; 输入格式 第一行是一个正整数 n。 第二行是 n 个不大于10000的正整数。 输出格式 一个正整数&#xff0c;即最少需要的组数。 数据范…

Acwing 3472. 八皇后 递归回溯优化

原题链接&#xff1a;Acwing 3472. 八皇后 #include <bits/stdc.h> using namespace std; const int M1e610; int p[1010]; bool f[1010]; vector<int> res[100]; int num0;void n_queen(int index) {if(index9){num;for(int i1;i<8;i){res[num].push_back(p…

Acwing 4310 树的DFS

原题链接&#xff1a;Acwing 4310 树的DFS #include <bits/stdc.h> using namespace std; #define ll long long const int MAX200010;int n,q; struct node {int pos;int num;vector<int> kid; }t[MAX]; vector<int> l;void dfs(int x) {t[x].numt[x].k…

PAT 甲 1034 Head of a Gang

2022.2.11 练习 PAT甲 1034 Head of a Gang &#xff08;原题链接&#xff09; 图的深度遍历&#xff1a; #include <bits/stdc.h> using namespace std; const int MAX_NUM2010; int n,k; int num0; int G[MAX_NUM][MAX_NUM]{0}; int weight[MAX_NUM]{0}; int visit[M…

LeetCode第16~20题解

CONTENTS LeetCode 16. 最接近的三数之和&#xff08;中等&#xff09;LeetCode 17. 电话号码的字母组合&#xff08;中等&#xff09;LeetCode 18. 四数之和&#xff08;中等&#xff09; LeetCode 16. 最接近的三数之和&#xff08;中等&#xff09; 【题目描述】 给你一个…

图的宽度优先遍历以及深度优先比遍历

图&#xff0c;和二叉树类似&#xff0c;只不过二叉树严格一个入点&#xff0c;2个出点。而图则不限制 宽度优先遍历 1.利用队列来实现 2.将源节点依次按照宽度进队列&#xff0c;然后弹出 3.每弹出一个结点&#xff0c;就该节点的多有邻接节点放进队列 4.不断 private void b…

1月11日学习总结--dfs

填涂颜色 解题思路&#xff1a;依次从遍历围圈的外围&#xff0c;如果有数0&#xff0c;那么就将该数赋值为5&#xff0c;利用深搜将和外围相连的为0 的数全部赋值为5&#xff0c;然后再将剩下为0的数赋值为2&#xff0c;再把之前赋值为5的数重新赋值为0&#xff0c;输出涂色后…

5.4 CJJ的补题目之单词接龙

单词接龙 描述&#xff1a; 单词接龙是一个与我们经常玩的成语接龙相类似的游戏&#xff0c;现在我们已知一组单词&#xff0c;且给定一个开头的字母&#xff0c;要求出以这个字母开头的最长的“龙”&#xff08;每个单词都最多在“龙”中出现两次&#xff09;&#xff0c;在…

1.24A Simple Math Problem

原网址&#xff1a;https://acs.jxnu.edu.cn/problem/NOIOPJCH02077215 描述&#xff1a; Huanhuan challenges you to a simple math problem. Define F(x)F(x) as the sum of the decimal digits of xx. //嬛嬛给你一个简单的数学问题。 定义F&#xff08;x)F(x)是十进制…

LeetCode学习-第二十六天

第二十六天 我使用的C&#xff0c;错误的地方请见谅&#xff0c;文章初衷仅用来督促本人学习&#xff0c;如果恰巧能够给你带来帮助&#xff0c;我会十分开心。 文章目录第二十六天一、572. 另一棵树的子树二、1091. 二进制矩阵中的最短路径一、572. 另一棵树的子树 给你两棵…

河南农业大学冬令营第23组题解[搜索专题]

A - 棋盘问题 #include <bits/stdc.h> using namespace std; int ans0;//最终方案数 int h0,qi0; char map0[10][10]; int book[10];void dfs(int h1,int qi1)//h1是变化的行 {if(qi10||h1h0){ if (qi1 0)ans; return ;}//如果棋下完了或棋下到了最后一行&#xff0c…

迷宫(一)

一天蒜头君掉进了一个迷宫里面&#xff0c;蒜头君想逃出去&#xff0c;可怜的蒜头君连迷宫是否有能逃出去的路都不知道。 看在蒜头君这么可怜的份上&#xff0c;就请聪明的你告诉蒜头君是否有可以逃出去的路。 输入格式 第一行输入两个整数 nn 和 mm&#xff0c;表示这是一个…

洛谷P1048 [NOIP2005 普及组] 采药

小染心得【01背包问题】 题目描述 辰辰是个天资聪颖的孩子&#xff0c;他的梦想是成为世界上最伟大的医师。为此&#xff0c;他想拜附近最有威望的医师为师。医师为了判断他的资质&#xff0c;给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说&#xff1a;“孩…

leetcode 104 二叉树的最大深度

题目&#xff1a;给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例&#xff1a; 给定二叉树 [3,9,20,null,null,15,7] 3/ \9 20/ \15 7返回它的最大深度 3 。 深度优…

leetcode: 145. 二叉树的后序遍历

后i序遍历&#xff1a;先找最左下的节点&#xff0c;然后从右下往左上输出 题目描述 利用迭代算法完成 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), rig…

深度优先搜索算法总结

文章目录深度优先搜索能够处理的问题代码注意事项时间复杂度分析题目汇总深度优先搜索能够处理的问题 宽度优先搜索的对象一般是二叉树、图&#xff0c;使用深度优先搜索的情况有以下三种&#xff1a; 寻找所有路径的问题。寻找所有排列的问题。寻找所有组合的问题。 代码注…

41 N皇后(N-Queens)

文章目录1 题目2 解决方案2.1 思路2.2 图解2.3 时间复杂度2.4 空间复杂度3 源码1 题目 题目&#xff1a;N皇后&#xff08;N-Queens&#xff09; 描述&#xff1a;N皇后问题是将n个皇后放置在n*n的棋盘上&#xff0c;皇后彼此之间不能相互攻击(任意两个皇后不能位于同一行&…

40 全排列II(Permutations II)

文章目录1 题目2 解决方案2.1 思路2.2 图解2.3 时间复杂度2.4 空间复杂度3 源码4 另解4.1 交换法1 题目 题目&#xff1a;全排列II&#xff08;Permutations II&#xff09; 描述&#xff1a;给出一个具有重复数字的列表&#xff0c;找出列表所有不同的排列。 lintcode题号——…

CF1674G. Remove Directed Edges dp

Problem G dag上的dp 题意 给你一个有向无环图&#xff0c;你需要删去其中的若干条边&#xff0c;使得 对于每个节点&#xff0c;它的入度比原来小&#xff0c;或原来即为0对于每个节点&#xff0c;它的出度比原来小&#xff0c;或原来即为0 在删边之后的图中取出一个点集 …

CF888G Xor-MST 01字典树dfs*

link dfs&#xff0c;mst&#xff0c;01trie&#xff0c;2300 题解写的很清楚&#xff0c;也是看了题解才会做。。 const int maxn 2e5 10; int n; int a[maxn]; int nxt[maxn*30][2], cnt 1; void insert(int x) {int cur 1;for(int i 30; i > 0; i--) {if(!nxt[cur]…

P1099 [NOIP2007 提高组] 树网的核——树的直径

Link 方法蛮多的一道题&#xff0c;主要是在书上看的&#xff0c;这里不想写了&#xff0c;贴个代码保存一下。 代码 // // #include <bits/stdc.h> using namespace std; //#define mp make_pair #define pii pair<int,int> #define pb push_back #define ll lo…

数据结构:图的遍历--深度优先、广度优先

图的遍历&#xff1a;深度优先、广度优先 遍历 图的遍历是指从图中的某一顶点出发&#xff0c;按照一定的策略访问图中的每一个顶点。当然&#xff0c;每个顶点有且只能被访问一次。 在图的遍历中&#xff0c;深度优先和广度优先是最常使用的两种遍历方式。这两种遍历方式对无…

深度优先搜索与动态规划|865, 1020, 1254

深度优先搜索|865. 具有所有最深节点的最小子树&#xff0c;1372. 二叉树中的最长交错路径&#xff0c;1631. 最小体力消耗路径 具有所有最深节点的最小子树二叉树中的最长交错路径最小体力消耗路径 具有所有最深节点的最小子树 一开始题没看懂&#xff0c;他这里就是找到最深…

leetcode1052. 爱生气的书店老板(java)

爱生气的书店老板 爱生气的书店老板题目描述滑动窗口代码演示 往期经典算法 爱生气的书店老板 难度 - 中等 原题链接 - 爱生气的书店老板 题目描述 有一个书店老板&#xff0c;他的书店开了 n 分钟。每分钟都有一些顾客进入这家商店。给定一个长度为 n 的整数数组 customers &a…

分割等和子集——力扣416

思路:动态规划 bool canPartition(vector<int>& nums){int n=nums.size(

迷宫DFS问题(二维vector, pair,模板题)

HJ43 迷宫问题 #include <bits/stdc.h> using namespace std;void dfs(vector<vector<int>>& map, vector<pair<int,int>>& paths, int x, int y){//记录走过,更新路径// cout << x << y << endl;map[x][y] 1;pair&…

强训第38天

选择 D 0作为本地宿主机&#xff0c;127作为内部回送&#xff0c;不予分配 A B C C 存储在浏览器 D A B B D 网络延迟是指从报文开始进入网络到它离开网络之间的时间 编程 红与黑 红与黑__牛客网 #include <iostream> #include <stdexcept> #include <string…

【每日一题Day305】LC1448统计二叉树中好节点的数目 | dfs

统计二叉树中好节点的数目【LC1448】 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。 思路&#xff1a;dfs 维护当前路径所有父节点中的最大值…

华为OD真题--信号塔传递信号--带答案

1. 华为OD机考题 答案 2023华为OD统一考试&#xff08;AB卷&#xff09;题库清单-带答案&#xff08;持续更新&#xff09; 2023年华为OD真题机考题库大全-带答案&#xff08;持续更新&#xff09; 2. 面试题 一手真实java面试题&#xff1a;2023年各大公司java面试真题汇总--…

leetcode46dfs回归-每日刷题档

实习生在公司熟悉两个星期断更了!!! 以后会继续更新 不断更 46. 全排列 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 思路: 使用深度优先遍历 无非就是是否符合条件、选择、抛弃 本题难点是 : 设置了一个全局变量 刷…

Java/C++利用队列实现二叉树的后序遍历

利用队列实现二叉树的后序遍历 首先我们有必要先来了解一下两种数据结构&#xff08;栈和队列&#xff09;以及它们的区别和应用 栈 栈是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据&#xff0c;先进入的数据被压入栈底&#xff0c;最后的…

93. 递归实现组合型枚举 (DFS + 剪支)

93. 递归实现组合型枚举 题目链接 从 1∼n 这 n 个整数中随机选出 m 个&#xff0c;输出所有可能的选择方案。 输入格式 两个整数 n,m ,在同一行用空格隔开。 输出格式 按照从小到大的顺序输出所有方案&#xff0c;每行 1 个。 首先&#xff0c;同一行内的数升序排列&#…

好用的三维绘图软件CREO学习绘制弧

在CREO的草绘中&#xff0c;CREO的弧有5中画法 1、三点相切端 通过确定三个点&#xff0c;分别是弧的两个端点和弧的中间的那个点来确定一个弧 2、圆心和端点画弧 通过确定一个圆心后&#xff0c;绘制弧的起点和终点来绘制出一个弧 3、三相切绘制弧 先绘制出三条直线或者三…

数据结构--5.2马踏棋盘算法(骑士周游问题)

题目渊源&#xff1a; 马踏棋盘问题&#xff08;又称骑士周游问题或骑士漫游问题&#xff09;是算法设计的经典问题之一。 题目要求&#xff1a; 国际象棋的棋盘为8*8的方格棋盘&#xff0c;现将“马”放在任意指定的方格中&#xff0c;按照“马”走棋的规则将“马”进行移动。…

2022年09月 C/C++(八级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:道路 N个以 1 … N 标号的城市通过单向的道路相连:。每条道路包含两个参数:道路的长度和需要为该路付的通行费(以金币的数目来表示) Bob and Alice 过去住在城市 1.在注意到Alice在他们过去喜欢玩的纸牌游戏中作弊后,Bob和她分手…

计算树的深度

文章目录前言题目代码实现&#xff1a;前言 这道题目是力扣上面的一道简单题目&#xff0c;求二叉树的最大深度&#xff0c;我觉得掌握求树的深度问题还是很有必要的&#xff0c;对于AVL等树来说&#xff0c;求树的深度是很重要的问题。 题目 给定一个二叉树&#xff0c;找出…

英语题目翻译——OJ_ 13:Sticks

题目&#xff1a;13:Sticks&#xff08;OpenJudge - 13:Sticks&#xff09; 翻译&#xff1a; 乔治有很多一样长的木棍并随机切割他们至最多50根。现在他想让这些木棍回到原来的样子&#xff0c;但是他忘记了原本有多少根木棍和这些木棍有多长&#xff0e;请帮助他并设什一个…

华为机试:单词搜索(找到它)

【编程题目 |200分】 单词搜索【2021 H2, 2022 Q1,Q2 考试题】 题目描述 找到它是一个小游戏&#xff0c;你需要在一个矩阵中找到给定的单词。 假设给定单词 HELLOWORD&#xff0c;在矩阵中只要能找到 H->E->L->L->O->W->O->R->L->D连成的单词&a…

算法基础之递归c++python

题目一&#xff1a;递归实现排列型枚举 把 1∼n 这 n 个整数排成一行后随机打乱顺序&#xff0c;输出所有可能的次序。 输入格式 一个整数 n。 输出格式 按照从小到大的顺序输出所有方案&#xff0c;每行 1 个。 首先&#xff0c;同一行相邻两个数用一个空格隔开。 其次…

牛客:第k小数题解

题目描述 给你一个长度为n的序列&#xff0c;求序列中第k小数的多少。 输入描述 多组输入&#xff0c;第一行读入一个整数T表示有T组数据。 每组数据占两行&#xff0c;第一行为两个整数n&#xff0c;k&#xff0c;表示数列长度和k。 第二行为n个用空格隔开的整数。 输出…

递归与递推(辅导课总结) 2021-12-29

目录递推Acwing 95. 费解的开关题目思路注意点代码Acwing717.简单斐波那契题目最多的写法&#xff08;递归&#xff09;递推优化递归Acwing92. 递归实现指数型枚举解法&#xff1a;dfs&#xff08;属于递归的一种&#xff09;y总遍历的顺序递归图解分析代码随想录的遍历顺序Acw…

LeetCode刷题——动态规划(python语言)

LeetCode刷题——动态规划&#xff08;python语言&#xff09; 一、动态规划 1.1 基本概念 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中&#xff0c;可能会有许多可行解。每一个解都对应于一个值&#xff0c;我们希望找到具有最优值的解。动态规划算法与…

算法设计 邮票问题

算法设计 邮票问题 1. 问题描述 设有n种不同面值a1, a2,…, an的邮票&#xff0c;规定每封信最多贴m张邮票。对于给定的m&#xff0c;n&#xff0c;求出最大的邮资连续区间。例如&#xff0c;给定n3&#xff0c;m3&#xff0c;邮票面值分别为2, 3, 5&#xff0c;则最大的邮资连…

Leetcode 易错题整理(三)73. 77. 78. 81. 90. 95.105. 130.

73. 矩阵置零 给定一个 *m* x *n* 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法**。** 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]笨方法&…

DFS寻找从s到t的所有路径

问题描述&#xff1a; 输入一个有向图&#xff0c;输出从s到t的所有路径的结点 输入&#xff1a; 3 3 0 1 1 2 0 2输出&#xff1a; 0 1 2 0 2 代码&#xff1a; #include<bits/stdc.h> using namespace std;const int N 103; vector<int>e[N];//用行为N的…

【洛谷 P1364】医院设置 题解(图论+深度优先搜索)

医院设置 题目描述 设有一棵二叉树&#xff0c;如图&#xff1a; 其中&#xff0c;圈中的数字表示结点中居民的人口。圈边上数字表示结点编号&#xff0c;现在要求在某个结点上建立一个医院&#xff0c;使所有居民所走的路程之和为最小&#xff0c;同时约定&#xff0c;相邻接…

LeetCode LCR 103. 零钱兑换【完全背包,恰好装满背包的最小问题】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

KMP解决字符串匹配问题

一. 什么是KMP算法 KMP算法是我们数据结构串中最难也是最重要的算法。因为KMP算法的代码很优美简洁干练&#xff0c;但里面包含着非常深的思维。 KMP算法就是字符串的模式匹配算法 解决 的问题&#xff1a;有一个模式字符串p&#xff0c;设其长度是lenp&#xff0c;以及另一…

图论第一天|深度优先搜索理论基础、广度优先搜索理论基础、797.所有可能的路径

深度优先搜索理论基础 文档讲解 &#xff1a; 代码随想录 - 深度优先搜索理论基础Hello 算法 9.3 图的遍历 状态&#xff1a;开始学习。 dfs&#xff08;深度优先搜索&#xff09;与bfs&#xff08;广度优先搜索&#xff09;区别 dfs是可一个方向去搜&#xff0c;不到黄河不回…

图的遍历 (深度优先遍历和广度优先遍历)

一. 什么是深度优先遍历 深度优先遍历可定义如下&#xff1a;首先访问出发点v&#xff0c;并将其标记为已访问过&#xff1b;然后依次从v出发搜索v的每个邻接点w。若w未曾访问过&#xff0c;则以w为新的出发点继续进行深度优先遍历&#xff0c;直至图中所有和源点v有路径相通的…

【力扣-每日一题】337. 打家劫舍 III

class Solution { public:pair<int,int> dfs_rob(TreeNode *root){//如果为根节点if(rootnullptr)return {0,0};auto [l,l_n]dfs_rob(root->left);auto [r,r_n]dfs_rob(root->right);int ol_nr_nroot->val;//当前节点偷&#xff0c;所获得的利益,子节点不能偷in…

【Leetcode Sheet】Weekly Practice 7

Leetcode Test 1462 课程表Ⅳ(9.12) 你总共需要上 numCourses 门课&#xff0c;课程编号依次为 0 到 numCourses-1 。你会得到一个数组 prerequisite &#xff0c;其中 prerequisites[i] [ai, bi] 表示如果你想选 bi 课程&#xff0c;你 必须 先选 ai 课程。 有的课会有直接…

一起来做题系列之记忆化搜索

为什么要记忆化搜索 以最低票价这题为例&#xff0c;如果直接搜的话&#xff0c;每次在树形决策分支处可能重复调用&#xff0c;从而有可能超时。 在一个火车旅行很受欢迎的国度&#xff0c;你提前一年计划了一些火车旅行。在接下来的一年里&#xff0c;你要旅行的日子将以一个…

蓝桥杯——深搜DFS(看完绝对入门DFS)

大家好&#xff0c;我是璐画同学 核心代码&#xff1a; 关于dfs参数问题&#xff0c;什么在变化&#xff0c;就把什么设置成参数。 void dfs()//参数用来表示状态 { if(到达终点状态) { ...//根据题意添加 return; } if(越界或者…

LeetCode 131-分割回文串

思路&#xff1a;搜索分割点&#xff0c;每次判断当前分割点喝上一个分割点之间的数据是否为回文串&#xff0c;如果是&#xff0c;就继续搜索下一个。 &#xff08;来实验室工作的第二天&#xff0c;加油&#xff01;&#xff09; class Solution {String str;int len;Linked…

如何计算 N叉树的最大深度

文章目录题目简述TreeNode代码DFSBFSLeetCode-559 题目简述 给定一个N叉树&#xff0c;找到其最大深度 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 TreeNode代码 class Node {//值public int val;//孩子结点 使用List集合存储public List<Node> child…

C++数据结构——判断是否二叉排序树

判断是否二叉排序树 根据带虚结点的先序序列建立二叉树&#xff0c;然后判断其是否为二叉排序树。 输入格式: 测试数据有多组&#xff0c;处理到文件尾。每组测试数据在一行中输入一个数字字符串&#xff08;不含’0’且长度不超过20&#xff09;&#xff0c;表示二叉树的先序遍…

【数据结构】二叉树的·深度优先遍历(前中后序遍历)and·广度优先(层序遍历)

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

迷宫寻路:(深搜广搜)

迷宫寻路 题目描述 机器猫被困在一个矩形迷宫里。 迷宫可以视为一个 n m n\times m nm 矩阵&#xff0c;每个位置要么是空地&#xff0c;要么是墙。机器猫只能从一个空地走到其上、下、左、右的空地。 机器猫初始时位于 ( 1 , 1 ) (1, 1) (1,1) 的位置&#xff0c;问能否…

DFS 深度优先搜索 —— 一种探险的算法

一、引言 深度优先搜索是什么&#xff1f; 深度优先搜索(DFS, Depth First Search)是一个针对图和树的遍历算法。 DFS与其他搜索算法的区别。 深度优先搜索&#xff08;DFS&#xff09;是一种利用递归实现的搜索算法。在搜索过程中&#xff0c;DFS从根节点开始&#xff0c;…

A*与JPS算法的背景和实现

A*算法 背景 之前的DFS&#xff0c;BFS和Dijskra算法都是一种纯搜索的算法&#xff0c;实际使用时&#xff0c;算力占用很多&#xff0c;搜索的效率却不高。 先看一下BFS搜索&#xff08;图片来源于网上&#xff09;&#xff0c;图片中红色点为起始点&#xff0c;蓝色点为终…

图的遍历算法——BFS和DFS

一、前言 在计算机科学领域&#xff0c;图是一种非常重要的数据结构。图是由节点和边构成的&#xff0c;节点之间的关系通过边来表示。图的遍历是对图进行搜索的过程&#xff0c;可以帮助我们找到图中的所有节点和边。 在本文中&#xff0c;我们将介绍两种常见的图遍历算法—…

【图论C++】树的重心——教父POJ 3107(链式前向星的使用)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载…

UVA-1374 旋转游戏 题解答案代码 算法竞赛入门经典第二版

GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 由于书上给了思路&#xff0c;所以做起来并不难。 即使超时&#xff0c;因为数据量不大&#xff08;1000个&#xff09;&#xff0c; 我们也可以直接打表直接返回结果。 但是如果想不打表完…

C/C++ DFS深度优先搜索面试算法题

1.岛屿的个数 https://blog.csdn.net/qq_36136459/article/details/104326796 给定一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;计算岛屿的数量。一个岛被水包围&#xff0c;并且它是通过水平方向或垂直方向上相…

【MVP争夺战】python实现-附ChatGPT解析

1.题目 MVP争夺战 知识点 :DFS搜索 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 在星球争霸篮球赛对抗赛中,强大的宇宙战队,希望每个人都能拿到MVP。 MVP的条件是,单场最高分得分获得者,可以并列,所以宇宙战队决定在比赛中尽可能让更多的队员上场,且让所有有得…

[数据结构]--图(图的遍历,最小生成树,最短路径算法)

前言 在这里,如果大家对图或者数据结构还不太熟悉,想找一个动态的生成过程来参考,这是一个不错的网站. 知识框架 图的定义 在线性结构中&#xff0c;数据元素之间满足唯一的线性关系&#xff0c;每个数据元素(除第一个和最后一个外)只有一个直接前趋和一个直接后继&#xff1b;…

【图论】Linova and Kingdom—CF1336A

Linova and Kingdom—CF1336A 参考文章 思路 1 1 1 号节点为根节点。很容易想到&#xff0c;工业城市在树的下边&#xff0c;旅游城市在树的上边。具体来说&#xff0c;如果节点 u u u 是工业城市&#xff0c;那么它的子树的所有节点一定都是工业城市&#xff1b;如果节点 u…

【高阶数据结构】图详解第二篇:图的遍历(广度优先+深度优先)

文章目录 图的遍历1. 图的广度优先遍历&#xff08;一石激起千层浪&#xff09;思路分析代码实现测试美团2020校招笔试题&#xff1a;六度人脉 2. 图的深度优先遍历&#xff08;一条道走到黑&#xff09;思路分析代码实现测试 3. 对于非连通图情况的处理4.源码BFSDFS 图的遍历 …

算法进阶-搜索

算法进阶-搜索 题目描述&#xff1a;给定一张N个点M条边的有向无环图&#xff0c;分别统计从每个点除法能够到达的点的数量 **数据规模&#xff1a;**1 < n < 3e4 **分析&#xff1a;**这里我们可以使用拓扑排序根据入边对所有点进行排序&#xff0c;排序后我们按照逆序&…

矿泉水厂溴酸盐超标怎么办?深度除溴技术

我们常饮用的各品牌的矿泉水&#xff0c;实际在生产过程当中也涉及到了相当复杂的处理工艺的&#xff0c;今天为大家分享的是关于矿泉水中溴酸盐、溴化物的知识点&#xff0c;以及矿泉水中为什么要除溴酸盐&#xff1f;原理是什么&#xff0c;那么又是什么样的技术能真正从根本…

判断子序列[简单]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给定字符串s和t&#xff0c;判断s是否为t的子序列。字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如ace是abcde的一个子序列&#xff0c…

E2. Unforgivable Curse (hard version)

Problem - E2 - Codeforces 问题描述&#xff1a;给两个字符串和一个k。如果下标i&#xff0c;j满足|i - j| k or |i - j| k 1&#xff0c;则可以swap(s[i], s[j])&#xff0c;s为两个字符串之一。 思路&#xff1a;如果<i,z> <z,j>可行&#xff0c;那么<i…

【算法分析与设计】分支限界法(下)

目录 一、最大团问题1.1 问题描述1.2 上界函数1.3 算法思想 二、旅行售货员问题2.1 问题描述2.2 算法描述 三、电路板排列问题3.1 算法描述 四、批处理作业调度问题4.1 问题的描述4.2 限界函数4.3 算法描述 五、小结六、随机化算法 一、最大团问题 1.1 问题描述 给定无向图G(V…

周赛366(记忆化搜索)

周赛366 2894. 分类求和并作差 简单 给你两个正整数 n 和 m 。 现定义两个整数 num1 和 num2 &#xff0c;如下所示&#xff1a; num1&#xff1a;范围 [1, n] 内所有 无法被 m 整除 的整数之和。num2&#xff1a;范围 [1, n] 内所有 能够被 m 整除 的整数之和。 返回整数…

【Python搜索算法】深度优先搜索(DFS)算法原理详解与应用,示例+代码

目录 1 基本原理 2 DFS算法流程 3 时间复杂度 4 空间复杂度 5 DFS算法应用案例&#xff1a; 5.1 解决路径查找问题 5.2 解决图的连通性问题 5.3 拓扑排序 5.4 在树结构中进行深度遍历 深度优先搜索&#xff08;DFS&#xff09;是一种重要的图遍历算法&#xff0c;用…

【经典题目分析】数组分割问题

文章目录 698. 划分为k个相等的子集416. 分割等和数组 698. 划分为k个相等的子集 把一个数组&#xff0c;拆分成K个大小一样的子数组。方法可以是状态枚举&#xff0c;或者dfs class Solution { public:bool canPartitionKSubsets(vector<int>& nums, int k) {// 从…

C++ “”

&加上有时候会加速 如果想该对象跟着函数变化一定要加“&” 在题目函数里面定义的 例如 vector<vector<bool>> visited(grid.size(),vector<bool>(grid[0].size(),false)); 如果自己定义的新void dfs&#xff08;vector<vector<bool>>…

P2607 [ZJOI2008] 骑士

P2607 [ZJOI2008] 骑士 [P2607 ZJOI2008] 骑士 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 文章目录 P2607 [ZJOI2008] 骑士题目大意思路code 题目大意 给你一个 n n n 个点&#xff0c; n n n 条边的基环树森林。 你可以从中选择若干个点&#xff0c;满足两两之间不存…

leetcode_1339. 分裂二叉树的最大乘积

题目链接&#xff1a;1339. 分裂二叉树的最大乘积 DFS两次即可 #define MAX(a, b) ((a) > (b) ? (a) : (b)) #define MOD ((int)pow(10, 9) 7)static void post_order_traversal(struct TreeNode* node) {if (!node) {return;}post_order_traversal(node->left);post…

C++二叉搜索树中第K小的元素

C二叉搜索树中第K小的元素 &#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;力扣刷题日记 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 文章目录 C二叉搜索树中第K小的元素…

[ABC294Ex] K-Coloring

题目传送门 引 属于一眼题,不看时间限制 8 s 8s 8s 容易被诈骗 解法 简单容斥 大概 式子就是 ∑ ( − 1 ) M ∗ K ∣ S ∣ \sum(-1)^{M}*K^{|S|} ∑(−1)M∗K∣S∣ , M M M 为边集的大小&#xff0c; ∣ S ∣ |S| ∣S∣ 为联通块的数量 那么我们就有 空间复杂度&#…

Leetcode刷题详解——汉诺塔问题

1. 题目链接&#xff1a;面试题 08.06. 汉诺塔问题 2. 题目描述&#xff1a; 在经典汉诺塔问题中&#xff0c;有 3 根柱子及 N 个不同大小的穿孔圆盘&#xff0c;盘子可以滑入任意一根柱子。一开始&#xff0c;所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放…

【深度优先搜索】和【广度优先搜索】的区别介绍

一. 前言 深度优先搜索&#xff08;Depth-First Search&#xff0c;DFS&#xff09;和广度优先搜索&#xff08;Breadth-First Search&#xff0c;BFS&#xff09;是两种常见的图搜索算法。它们的主要区别在于搜索的方式和顺序不同。 二. 区别 1. DFS的搜索方式是&#xff1…

CSDN每日一题学习训练——Java版(两数相加、二叉树的锯齿形层序遍历、解数独)

版本说明 当前版本号[20231106]。 版本修改说明20231106初版 目录 文章目录 版本说明目录两数相加题目解题思路代码思路补充说明参考代码 二叉树的锯齿形层序遍历题目解题思路代码思路参考代码 解数独题目解题思路代码思路补充说明参考代码 两数相加 题目 给你两个 非空 的…

Leetcode刷题详解——子集

1. 题目链接&#xff1a;78. 子集 2. 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xf…

【华为OD机试python】返回矩阵中非1的元素个数【2023 B卷|200分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 存在一个m*n的二维数组,其成员取值范围为0,1,2。 其中值为1的元素具备同化特性,每经过1S,将上下左右值为0的元素同化为1。 而值为2的元素,免疫同化。 将数组所有成员随机初始化为0或…

LC-2316. 统计无向图中无法互相到达点对数(DFS、并查集)

2316. 统计无向图中无法互相到达点对数 中等 给你一个整数 n &#xff0c;表示一张 无向图 中有 n 个节点&#xff0c;编号为 0 到 n - 1 。同时给你一个二维整数数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示节点 ai 和 bi 之间有一条 无向 边。 请你返回 无法互相…

[100天算法】-统计封闭岛屿的数目(day 74)

题目描述 有一个二维矩阵 grid &#xff0c;每个位置要么是陆地&#xff08;记号为 0 &#xff09;要么是水域&#xff08;记号为 1 &#xff09;。我们从一块陆地出发&#xff0c;每次可以往上下左右 4 个方向相邻区域走&#xff0c;能走到的所有陆地区域&#xff0c;我们将其…

算法基础-dfs的经验

dfs的经验 我总感觉dfs和递归是一个东西 洛谷递归的好题 void dfs(int cur, int res)//假设当前枚举到第u层&#xff0c;即我们当前枚举的就是第u种平行线 {if (cur 0) {if (vis[res] 0) ans ;vis[res] 1; return;}else{for (int i 0; i < cur; i)//当前第u种平行线…

连通性相关学习笔记

基础 前置知识 强连通&#xff1a;对于有向图中两点 i i i&#xff0c; j j j&#xff0c;若存在 i i i 到 j j j 和 j j j 到 i i i 的路径&#xff0c;则称 i i i&#xff0c; j j j 强连通。强连通&#xff1a;对于有向图中两点 i i i&#xff0c; j j j&#xff0…

图论02-【无权无向】-图的深度优先遍历DFS

文章目录 1. 代码仓库2. 深度优先遍历图解3. 主要代码3.1 dfs递归的主要代码 - 先序遍历和后序遍历3.2 dfs非递归的主要代码 - 使用栈3.3 递归与非递归遍历出来的顺序不一致3.4 标记不同的联通分量 4. 完整代码4.1 CC.java4.2 Graph.java 1. 代码仓库 https://github.com/Chufe…

【算法练习Day12】树的递归遍历非递归遍历

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 递归遍历前序遍历中序遍历后…

全排列[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给定一个不含重复数字的数组nums&#xff0c;返回其所有可能的全排列。你可以按任意顺序返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例…

牛客周赛 Round 15 D 游游的树上边染红(树形dp)

牛客周赛 Round 15 D 游游的树上边染红(树形dp) 一道很裸的树形dp&#xff0c;周日晚上看了一晚上看不懂&#xff0c;第二天突然就悟了。 题目跟没有上司从舞会很像&#xff0c;我们粗略的考虑&#xff0c;当前节点的状态为选/不选&#xff0c;然后根据此进行状态转移。 不选择…

LeetCode 2316. 统计无向图中无法互相到达点对数【图,BFS,DFS,并查集】1604

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

图论05-【无权无向】-图的广度优先BFS遍历-路径问题/检测环/二分图/最短路径问题

文章目录 1. 代码仓库2. 单源路径2.1 思路2.2 主要代码 3. 所有点对路径3.1 思路3.2 主要代码 4. 联通分量5. 环检测5.1 思路5.2 主要代码 6. 二分图检测6.1 思路6.2 主要代码6.2.1 遍历每个联通分量6.2.2 判断相邻两点的颜色是否一致 7. 最短路径问题7.1 思路7.2 代码 1. 代码…

图论03-【无权无向】-图的深度优先DFS遍历-路径问题/检测环/二分图

文章目录 1. 代码仓库2. 单源路径2.1 思路2.2 主要代码 3. 所有点对路径3.1 思路3.2 主要代码 4. 路径问题的优化-提前结束递归4.1 思路4.2 主要代码 5. 检测环5.1 思路5.2 主要代码 6. 二分图6.1 思路6.2 主要代码6.2.1 遍历每个联通分量6.2.2 递归判断相邻两点的颜色是否一致…

DFS 典型题之 n 皇后(c++版)

n 皇后 前置知识&#xff1a; 根据数学函数 y x b; 当不同的一元函数的斜率相同时&#xff0c;唯一能区分他们的就是截距b 因此&#xff0c;可以由 b y-x 得到不同的对角线直线函数&#xff08;我们假设这些直线的斜率都是1&#xff09; 那么反对角线 y -x b 所以b xy…

81 使用DFS和BFS解机器人的运动范围

问题描述&#xff1a;地上有一个m行n列的方格&#xff0c;从坐标[0,0]到坐标[m-1,n-1].一个机器人从坐标[0,0]的格子开始移动&#xff0c;他每次可以向左、右、上、下移动一格(不能移动到方格外)&#xff0c;也不能进入行坐标和列坐标的数位之和大于k的格子。 public int numB…

LeetCode 301. 删除无效的括号【字符串,回溯或BFS】困难

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

代码随想录图论 第五天| 841.钥匙和房间 463. 岛屿的周长

代码随想录图论 第五天| 841.钥匙和房间 一、 841.钥匙和房间 题目链接&#xff1a;https://leetcode.cn/problems/keys-and-rooms/ 思路&#xff1a;钥匙就是索引&#xff0c;遍历过就标记&#xff0c;每拿到一个房间的钥匙&#xff0c;直接for循环递归遍历&#xff0c;深度…

Java 数据结构篇-二叉树的深度优先遍历(实现:递归方式、非递归方式)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 二叉树的说明 1.1 二叉树的实现 2.0 二叉树的优先遍历说明 3.0 用递归方式实现二叉树遍历 3.1 用递归方式实现遍历 - 前序遍历 3.2 用递归方式实现遍历 - 中序遍…

LeetCode437.路径总和III

看完题目我就拿直接用递归写了如下代码&#xff1a; class Solution {private int ans;public int pathSum(TreeNode root, int targetSum) {ans 0;dfs(root, targetSum, 0);return ans;}public void dfs(TreeNode root, int targetSum, int sum){if(root null)return;sum r…

【LeetCode:2477. 到达首都的最少油耗 | DFS + 贪心】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

[蓝桥杯 2022 省 A] 推导部分和

[蓝桥杯 2022 省 A] 推导部分和 题目描述 对于一个长度为 N N N 的整数数列 A 1 , A 2 , ⋯ A N A_{1}, A_{2}, \cdots A_{N} A1​,A2​,⋯AN​&#xff0c;小蓝想知道下标 l l l 到 r r r 的部分和 ∑ i l r A i A l A l 1 ⋯ A r \sum\limits_{il}^{r}A_iA_{l}A…

图的邻接链表储存

喷了一节课 。。。。。。。、。 #include<stdio.h> #include<stdlib.h> #define MAXNUM 20 //每一个顶点的节点结构&#xff08;单链表&#xff09; typedef struct ANode{ int adjvex;//顶点指向的位置 struct ArcNode *next;//指向下一个顶点 …

Leetcode—222.完全二叉树的节点个数【简单】

2023每日刷题&#xff08;五十八&#xff09; Leetcode—222.完全二叉树的节点个数 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(null…

深度优先搜索理论基础及习题797.所有可能的路径

深搜&#xff08;dfs&#xff09;和广搜的区别&#xff08;bfs&#xff09; dfs是可一个方向去搜&#xff0c;不到黄河不回头&#xff0c;直到遇到绝境了&#xff0c;搜不下去了&#xff0c;再换方向&#xff08;换方向的过程就涉及到了回溯&#xff09;。 bfs是先把本节点所连…

acwing算法基础之搜索与图论--DFS

目录 1 基础知识2 模板3 工程化 1 基础知识 调用dfs()之后表示已经走到头了&#xff0c;需要往回走了&#xff08;即&#xff0c;回溯&#xff09;&#xff0c;那这时候就要恢复成调用dfs()之前的模样&#xff08;即&#xff0c;恢复现场&#xff09;。 不同的搜索顺序&#…

11.9树的表示方法(孩子,父亲,孩子兄弟),树、森林的遍历,一些操作,决策树,前缀树

父亲表示法 优缺点&#xff1a;利用了树中除根结点外每个结点都有唯一的父节点这个性质&#xff0c;很容易找到树根&#xff0c;但是找孩子需要遍历整个线性表。 最近公共祖先 第一种方法&#xff0c;找路径然后比较 如果是搜索树&#xff0c;可以二分查找 不是&#xff0c;…

力扣370周赛

力扣第370场周赛 找到冠军 I 答案即入度为0的点 class Solution { public:int findChampion(vector<vector<int>>& grid) {vector<int>d(1005);int n grid.size() , m grid[0].size();for(int i 0 ; i < n ; i ){for(int j 0 ; j < m ; j )…

每日一算法:深度优先算法

深度优先搜索&#xff08;Depth-First Search&#xff0c;简称DFS&#xff09;是一种用于遍历或搜索树或图的算法。如其名&#xff0c;该算法深入到可能的分支上&#xff0c;直到目标节点被找到或者已经没有其他节点可以继续深入&#xff0c;此时算法回溯到上一节点&#xff0c…

Leetcode—226.翻转二叉树【简单】

2023每日刷题&#xff08;二十四&#xff09; Leetcode—226.翻转二叉树 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* …

【算法每日一练]-快速幂,倍增,滑动窗口(保姆级教程 篇1) #麦森数 #青蛙跳

之前是考试准备&#xff0c;所以有几天没更新&#xff0c;今天开始继续更新 目录 快速幂模板 题目&#xff1a;麦森数 思路&#xff1a; 题目&#xff1a;青蛙跳 思路&#xff1a; 快速幂模板 #include <bits/stdc.h> #define ll long long using namespa…

图论16-拓扑排序

文章目录 1 拓扑排序2 拓扑排序的普通实现2.1 算法实现 - 度数为0入队列2.2 拓扑排序中的环检测 3 深度优先遍历的后续遍历3.1 使用环检测类先判断是否有环3.2 调用无向图的深度优先后续遍历方法&#xff0c;进行DFS 1 拓扑排序 对一个有向无环图G进行拓扑排序&#xff0c;是将…

Leetcode——岛屿的最大面积

1. 题目链接&#xff1a;695. 岛屿的最大面积 2. 题目描述&#xff1a; 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都…

【蓝桥杯 第十五届模拟赛 Java B组】训练题(A - I)

目录 A、求全是字母的最小十六进制数 B、Excel表格组合 C、求满足条件的日期 D、 取数字 - 二分 &#xff08;1&#xff09;暴力 &#xff08;2&#xff09;二分 E、最大连通块 - bfs F、哪一天&#xff1f; G、信号覆盖 - bfs &#xff08;1&#xff09;bfs&#xf…

【算法每日一练]-图论(保姆级教程 篇4(遍历))#传送门 #负环判断 #灾后重建

今天继续 目录 题目&#xff1a;传送门 思路&#xff1a; 题目&#xff1a;负环判断 思路&#xff1a; 题目&#xff1a;灾后重建 思路&#xff1a; 题目&#xff1a;传送 门 思路&#xff1a; 先跑一边floyd&#xff0c;然后依次加入每个传送门&#xff0c;O(n^5)不行…

LeetCode热题100——图论

图论 1. 岛屿的数量2. 腐烂的橘子 1. 岛屿的数量 给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆…

算法笔记-第十章-图的遍历(未处理完-11.22日)

算法笔记-第十章-图的遍历 图遍历的知识点一关于深度和广度优先遍历的基础知识 &#xff1a;大佬讲解一大佬讲解二 图遍历知识二连通分量实现DFS的模板思路邻接矩阵版本邻接表版本 无向图的连通块 图遍历的知识点一 关于深度和广度优先遍历的基础知识 &#xff1a; 大佬讲解 …

java实现深度优先搜索 (DFS) 算法

度优先搜索&#xff08;Depth First Search&#xff0c;DFS&#xff09;算法是一种用于遍历或搜索图或树的算法。这种算法从一个节点开始&#xff0c;沿着一条路径尽可能深地搜索&#xff0c;直到遇到不能继续前进的节点时返回上一个节点&#xff0c;然后继续搜索其他路径。具体…

【限时免费】20天拿下华为OD笔试之【DFS/BFS】2023B-树状结构查询【欧弟算法】全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入描述输出描述示例输入输出 解题思路代码解法一&#xff1a;DFSpythonjavacpp 解法二&#xff1a;BFSpythonjavacpp 时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 通常使用多行的节点、父节点表示一棵树…

pat实现基于邻接矩阵表示的深度优先遍历

void DFS(Graph G, int v) {visited[v] 1;printf("%c ", G.vexs[v]);for (int i 0; i < G.vexnum; i) {if (!visited[i] && G.arcs[v][i]) DFS(G, i);} }

洛谷P1157组合的输出 递归:我他又来辣

没没没没没没没错&#xff0c;这是一道简单的递归&#xff08;其实是深搜加回溯) 我不管&#xff0c;我说是递归就是递归。 上题干&#xff1a; 题目描述 排列与组合是常用的数学方法&#xff0c;其中组合就是从 n 个元素中抽出 r个元素&#xff08;不分顺序且 r≤n&#x…

LeetCode17.电话号码的字母组合

写这题的时候没有啥DFS思路&#xff0c;感觉还是DFS没刷明白&#xff0c;还需要多提高 参考链接&#xff1a; 【还得用回溯算法&#xff01;| LeetCode&#xff1a;17.电话号码的字母组合-哔哩哔哩】 https://b23.tv/oTuy71C class Solution {public List<String> lette…

【算法每日一练]-图论(保姆级教程 篇6(图上dp))#最大食物链 #游走

目录 题目&#xff1a;最大食物链 解法一&#xff1a; 解法二&#xff1a; 记忆化 题目&#xff1a;游走 思路&#xff1a; 题目&#xff1a;最大食物链 解法一&#xff1a; 我们标记f[i]是被f[x]捕食的点对应的类食物链数 不难得出&#xff1a; f[x]∑(f[i]) 首先从生…

LeetCode 1457. 二叉树中的伪回文路径:深度优先搜索(DFS) + 位运算优化

【LetMeFly】1457.二叉树中的伪回文路径&#xff1a;深度优先搜索(DFS) 位运算优化 力扣题目链接&#xff1a;https://leetcode.cn/problems/pseudo-palindromic-paths-in-a-binary-tree/ 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「…

【算法每日一练]-图论(保姆级教程篇12 tarjan篇)#POJ3352道路建设 #POJ2553图的底部 #POJ1236校园网络 #缩点

目录 POJ3352&#xff1a;道路建设 思路&#xff1a; POJ2553&#xff1a;图的底部 思路&#xff1a; POJ1236校园网络 思路&#xff1a; 缩点&#xff1a; 思路&#xff1a; POJ3352&#xff1a;道路建设 由于道路要维修&#xff0c;维修时候来回都不能走&#xff0c;现要…

AtCoder Beginner Contest 331

感觉和cf div3差不多。 A - Tomorrow 签到&#xff0c;D和M是一年有D月M天&#xff0c;输入ymd输出ym[d1]&#xff0c;如果d1>D了显然要m&#xff0c;模拟即可。 #include <bits/stdc.h> //#define int long long #define fr first #define se second #define endl …

数据结构 第5 6 章作业 图 哈希表 西安石油大学

第6章 图 1&#xff0e;选择题 &#xff08;1&#xff09;在一个图中&#xff0c;所有顶点的度数之和等于图的边数的&#xff08; &#xff09;倍。 A&#xff0e;1/2 B&#xff0e;1 C&#xff0e;2 D&#xff0e;4 答案&#xff1a…

【LeetCode:1038. 从二叉搜索树到更大和树 | BST+DFS+中序遍历】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

第三章 图论 No.9有向图的强连通与半连通分量

文章目录 定义Tarjan求SCC1174. 受欢迎的牛367. 学校网络1175. 最大半连通子图368. 银河 定义 连通分量是无向图的概念&#xff0c;yxc说错了&#xff0c;不要被误导 强连通分量&#xff1a;在一个有向图中&#xff0c;对于分量中的任意两点u&#xff0c;v&#xff0c;一定能从…

代码随想录算法训练营第21天(二叉树7 | ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先

二叉树part07 530.二叉搜索树的最小绝对差解题思路 501.二叉搜索树中的众数解题思路解题步骤 236. 二叉树的最近公共祖先 &#xff08;理解不透彻&#xff0c;需复习解题思路 530.二叉搜索树的最小绝对差 需要领悟一下二叉树遍历上双指针操作&#xff0c;优先掌握递归 题目链接…

蚁群算法(ACO)解决旅行商(TSP)问题的python实现

TSP问题 旅行商问题&#xff08;Travelling Salesman Problem, 简记TSP&#xff0c;亦称货郎担问题)&#xff1a;设有n个城市和距离矩阵D [dij]&#xff0c;其中dij表示城市i到城市j的距离&#xff0c;i, j 1, 2 … n&#xff0c;则问题是要找出遍访每个城市恰好一次的一条回…

代码随想录算法训练营29期Day29|LeetCode 491,46,47

文档讲解&#xff1a;递增子序列 全排列 全排列II 491.递增子序列 题目链接&#xff1a;https://leetcode.cn/problems/non-decreasing-subsequences/description/ 思路&#xff1a; 首先我们开一个vector作为子序列数组。在搜索的每一层中&#xff0c;我们枚举nums数组中的…

力扣77. 组合

递归 思路&#xff1a; 找到一个长度为 nnn 的序列 aaa 的所有子序列&#xff0c;代码框架&#xff1a; std::vector<int> temp; void dfs(int cur, int n) {if (cur n 1) {// 记录答案// ...return;}// 考虑选择当前位置temp.push_back(cur);dfs(cur 1, n, k);temp.…

【LeetCode】46. 全排列

1 问题 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2&#xff1a; 输入&#x…

LeetCode 面试题 04.08. 首个共同祖先

文章目录 一、题目二、C# 题解 一、题目 设计并实现一个算法&#xff0c;找出二叉树中某两个节点的第一个共同祖先。不得将其他的节点存储在另外的数据结构中。注意&#xff1a;这不一定是二叉搜索树。 例如&#xff0c;给定如下二叉树: root [3,5,1,6,2,0,8,null,null,7,4] 3…

【Leetcode】BFS、DFS、并查集判断二分图

通过本篇文章学习一下二分图&#xff0c;以及使用BFS、DFS、并查集三种方法来判断二分图。 文章目录1. 二分图1.1 什么是二分图&#xff1f;1.2 如何判断二分图2. 785. 判断二分图2.1 题目描述2.2 思路分析2.3 参考代码3. 886. 可能的二分法3.1 题目描述3.2 思路分析3.3 参考代…

邻接表表示图进行深度优先搜索,广度优先搜索,最小生成树

图的邻接表定义 下面用邻接表实现图的深度优先搜索和广度优先搜索&#xff0c;用邻接矩阵来实现最小生成树。 图的邻接表&#xff1a;首先定义一个图的邻接表的类&#xff0c;里面包括图的顶点数&#xff0c;图的边数&#xff0c;顶点表数组。由于顶点表数组里存放的都是图的…

【PTA】 浙江大学计算机与软件学院2021年考研复试上机题自测

个人学习记录&#xff0c;代码难免不尽人意。 今天做了做21年的浙大复试上机题&#xff0c;感觉还好&#xff0c;但是第一题没做出来汗&#xff0c;我觉得是自己阅读理解的问题&#xff0c;题意没有弄清楚&#xff0c;题目本身还是很简单的。 7-1 Square Friends For any give…

Leetcode刷题详解—— 目标和

1. 题目链接&#xff1a;494. 目标和 2. 题目描述&#xff1a; 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可…

Non-interger Area 思维

problem nowcoder 思路 把点按照奇偶分为4类,一个三角形的面积是整数当且仅当构成它的三个点中至少2个是同一类的,用总共的三角形减去这类即可。 一开始并没有发现这个性质。 // Decline is inevitable, // Romance will last forever. #include <bits/stdc++.h> us…

[100天算法】-键值映射(day 42)

题目描述 实现一个 MapSum 类里的两个方法&#xff0c;insert 和 sum。对于方法 insert&#xff0c;你将得到一对&#xff08;字符串&#xff0c;整数&#xff09;的键值对。字符串表示键&#xff0c;整数表示值。如果键已经存在&#xff0c;那么原来的键值对将被替代成新的键…

23.3.8打卡 AcWing 1072. 树的最长路径 树形dp

AcWing 1072. 树的最长路径 题目链接: https://www.acwing.com/problem/content/1074/ 听y总的课听睡着了, 直接看的题解琢磨了下, 感觉挺简单的 题意 给你一棵树, 找到这棵树的最长路径 题解 先说屁话, 感觉能用最长路写, 最短路改改就好了 当然这是个树形dp的模板题这里…

学python的第十四天---小蓝(5)

一、最长公共子序列&#xff08;dp&#xff09;二、蓝桥骑士&#xff08;最长递增子序列&#xff09;三、蓝肽子序列&#xff08;最长公共子序列&#xff09;四、合唱队形(最长递增子序列)五、字符串编辑问题引入一个难一点的题目&#xff1a;最优包含一、最长公共子序列&#…

二叉搜索树的最近公共祖先likou235、二叉搜索树的插入元素likou701

我发现只要是带了二叉搜索树的&#xff0c;都需要使用它的特性&#xff1a; 左节点比根节点小 右节点比根节点大 首先判断p、q是否有其中一个在根节点上&#xff1a; 这样就会造成本身就是最近公共祖先 判断根节点下是否有p&#xff0c;q子节点&#xff0c;可以使用p<r…

大话数据结构-图的深度优先遍历和广度优先遍历

4 图的遍历 图的遍历分为深度优先遍历和广度优先遍历两种。 4.1 深度优先遍历 深度优先遍历&#xff08;Depth First Search&#xff09;&#xff0c;也称为深度优先搜索&#xff0c;简称DFS&#xff0c;深度优先遍历&#xff0c;是指从某一个顶点开始&#xff0c;按照一定的规…

算法模板(4):动态规划(2)

8.树形DP 没有上司的舞会 树上最大独立集问题 Ural 大学有 N N N 名职员&#xff0c;编号为 1 ∼ N 1 \sim N 1∼N。他们的关系就像一棵以校长为根的树&#xff0c;父节点就是子节点的直接上司。每个职员有一个快乐指数&#xff0c;用整数 H i H_i Hi​ 给出&#xff0c;…

二叉搜索树的最小绝对差[简单]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个二叉搜索树的根节点root&#xff0c;返回树中任意两不同节点值之间的最小差值。差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 示例 1&#xff1a; 输入&#xff1a;root [4,2,6,1,3] 输出&#xff1a;1 示例 …

蓝桥杯刷题第二十二天

第一题&#xff1a;受伤的皇后题目描述有一个 nn 的国际象棋棋盘&#xff08;n 行 n 列的方格图&#xff09;&#xff0c;请在棋盘中摆放 n 个受伤的国际象棋皇后&#xff0c;要求&#xff1a;任何两个皇后不在同一行。任何两个皇后不在同一列。如果两个皇后在同一条 45 度角的…

PAT 甲 1090 Highest Price in Supply Chain

2022.1.28 练习 PAT甲 1090 Highest Price in Supply Chain &#xff08;原题链接&#xff09; 段错误代码:&#xff08;不明白为什么段错误&#xff0c;呜呜&#xff0c;求大佬指正&#xff09; #include <bits/stdc.h> using namespace std; const int MAX_SIZE10001…

回溯算法part1 | 77. 组合

代码随想录算法训练营第一天 | 题目、题目 文章目录 77. 组合思路官方题解思路代码官方代码困难 今日收获 77. 组合 77.组合 思路 一个递归直接解决 递归思想,n,k的结果等于n-1&#xff0c;k的结果再加上n-1&#xff0c;k-1的结果的每个组合加上n&#xff0c;最后return。 …

图(二)——数据结构|复习局|图的遍历|深度优先遍历DFS|广度优先遍历BFS

数据结构复习局——图&#xff08;二&#xff09;广度优先搜索BFS深度优先搜索DFS写在前面&#xff1a; 本文仅为记录个人学习复习过程&#xff0c;如有错误欢迎指正&#xff0c;相互学习&#xff01; 广度优先搜索BFS 类似于二叉树的层序遍历首先访问起始顶点v&#xff0c;然…

Go使用记忆化搜索的套路【以20240121力扣每日一题为例】

题目 分析 这道题很明显记忆化搜索&#xff0c;用py很容易写出来 Python class Solution:def splitArray(self, nums: List[int], k: int) -> int:n len(nums)# 寻找分割子数组中和的最小的最大值s [0]for num in nums:s.append(s[-1] num)#print(s)cachedef dfs(cur,…

BFS广度优先搜索之钥匙和房间

841. 钥匙和房间 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而&#xff0c;你不能在没有获得钥匙的时候进入锁住的房间。当你进入一个房间&#xff0c;你可能会在里面找到一套不同…

go语言切片函数参数传递+append()函数扩容

go语言切片函数参数传递append()函数扩容 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 二叉树递归go代码&#xff1a; var ans [][]int func pathSum(root *TreeNode, targetSum int) ( [][…

全排列——力扣46

文章目录 题目描述解法:回溯题目描述 解法:回溯 //version 1 vector<vector<int>> permute(<

PAT 甲 1094 The Largest Generation(有点问题)

2022.1.28 练习 PAT甲 1094 The Largest Generation&#xff08;原题链接&#xff09; 自己写的代码&#xff08;19分&#xff09;&#xff0c;暂时想不通为何扣分&#xff0c;记录留待以后思考。 #include <bits/stdc.h> using namespace std; const int MAX_SIZE110;…

2318.不同骰子序列的数目

经典的DP题目&#xff0c;求方案数 从序列中最后一个数字往前考虑 当前状态取决于前一个的状态和再前一个的状态所以dp&#xff08;n&#xff0c;last&#xff0c;last1&#xff09;为当前考虑的是第n个并且前一个数字是last 再前一个数字是last1的所有方案数&#xff0c;递归的…

【Acwing171】送礼物(双向dfs)题解

本题思路来源于acwing算法提高课 题目描述 看本文需要准备的知识 1.二分&#xff08;强烈推荐文章&#xff1a;一分钟学会二分模板 2.dfs基本思想&#xff0c;了解“剪枝”这个术语 思路分析 首先这道题目看起来就是一个01背包&#xff0c;但是如果直接用01背包去做&…

splayLCT学习笔记

1.伸展树(splay) 1.1性质 伸展树是一颗二叉搜索树&#xff0c;可以在 O(logn)O(log n)O(logn) 的时间内完成加入&#xff0c;删除&#xff0c;查询操作。 一般的二叉搜索树会被卡成一条链&#xff0c;而伸展树是依靠在维护二叉搜索树的同时&#xff0c;使得这颗树的深度尽可能…

【GDKOI2011】反恐任务

题目大意 给你一个 nnn 个点和 mmm 条边的无向图&#xff0c;并有 QQQ 个询问&#xff0c;每次询问有两种形式&#xff1a; 1.1 X Y P Q &#xff0c; 表示在删掉 PPP 和 QQQ 之间的连边后 XXX 和 YYY 是否相互可达&#xff08;保证 PPP 和 QQQ 有边相连&#xff09; 2.2 X Y …

LeetCode-题目整理【10】:单词搜索

先补充一些小知识&#xff1a; dfs和回溯的区别 深度优先搜索&#xff08;DFS&#xff09;和回溯是两种常用的算法思想&#xff0c;它们在解决问题时有一些相似之处&#xff0c;但也有一些不同之处。 深度优先搜索&#xff08;DFS&#xff09;是一种 用于遍历或搜索图、树或其…

NOIP2023模拟2联测23-害怕

澪有个 n n n 个点 m m m 条边的无向图&#xff0c;每条边都有蓝白两种颜色中的一种&#xff0c;保证蓝色的边形成了这个图的一个生成树。 她希望给这些边赋上边权&#xff0c;保证边权是 1 ∼ m 1 \sim m 1∼m 的排列&#xff0c;使得蓝色的边是最小生成树。 希望这些边权…

力扣75——图深度优先搜索

总结leetcode75中的图深度优先搜索算法题解题思路。 上一篇&#xff1a;力扣75——二叉搜索树 力扣75——图深度优先搜索 1 钥匙和房间2 省份数量3 重新规划路线4 除法求值1-4 解题总结 1 钥匙和房间 题目&#xff1a; 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初…

最大数字

[蓝桥杯 2022 国 B] 最大数字 题目描述 给定一个正整数 NNN。你可以对 NNN 的任意一位数字执行任意次以下 2 种操作: 将该位数字加 111。如果该位数字已经是 999&#xff0c;加 111 之后变成 000。 将该位数字减 111。如果该位数字已经是 000&#xff0c;减 111 之后变成 99…

【华为OD机试真题】MVP争夺战(python)100%通过率 超详细代码注释 代码解读

【华为OD机试真题 2022&2023】真题目录 @点这里@ 【华为OD机试真题】信号发射和接收 &试读& @点这里@ 【华为OD机试真题】租车骑绿道 &试读& @点这里@ MVP争夺战 知识点DFS搜索 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 在星球争霸篮球赛对…

【DFS+剪枝】个人练习-Leetcode-面试题 16.04. Tic-Tac-Toe LCCI

题目链接&#xff1a;https://leetcode.cn/problems/tic-tac-toe-lcci/ 题目大意&#xff1a;给出一个N*N的棋盘格board[][]&#xff0c;走圈叉棋&#xff0c;判断输赢情况&#xff0c;某一方赢了返回该方的字符&#xff0c;若平局&#xff08;棋盘满且没有一方赢&#xff09;…

强连通分量+缩点

[图论与代数结构 701] 强连通分量 题目描述 给定一张 n n n 个点 m m m 条边的有向图&#xff0c;求出其所有的强连通分量。 注意&#xff0c;本题可能存在重边和自环。 输入格式 第一行两个正整数 n n n &#xff0c; m m m &#xff0c;表示图的点数和边数。 接下来…

1317:【例5.2】组合的输出

1317&#xff1a;【例5.2】组合的输出 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 排列与组合是常用的数学方法&#xff0c;其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n)&#xff0c;我们可以简单地将n个元素理解为自然数1&#xff0c;2&#xff0c;…&#…

DFS BFS

用DFS和BFS分别实现 //这边给出DFS的模版 void dfs(int x,int y) {//判断是否到达终点&#xff08;只有给出结束点的时候需要&#xff09; if (x ex && y ey) {if (min_steps > step) {min_steps step;}return;}//给出移动方向int move[4][2] {{0, 1}, {0, -1}…

LeetCode每日一题.04(不同路径)

一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&#xff1f; 示例 1…

c语言深度优先搜索 (Depth-First Search,DFS)

深度优先搜索是一种用于遍历或搜索树或图的算法。这个算法会尽可能深地搜索树的分支。当节点v的所在边都己被探寻过&#xff0c;搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点&#xff0c;则选择其…

(图的遍历)深度优先搜索和广度优先搜索

本章会先对图的深度优先搜索和广度优先搜索进行介绍&#xff0c;然后再给出C/C/Java的实现。 一、深度优先搜索的图文介绍 1. 深度优先搜索介绍 图的深度优先搜索(Depth First Search)&#xff0c;和树的先序遍历比较类似。 它的思想&#xff1a;假设初始状态是图中所有顶点…

AcWing 861. 二分图的最大匹配—匈牙利算法

题目链接:AcWing 861. 二分图的最大匹配 问题描述 分析 该题是一道典型的二分图匹配模板题&#xff0c;求解最大匹配数&#xff0c;可以用匈牙利算法来解决&#xff0c;下面举一个例子来说明匈牙利算法是如何运行的 以该图为例&#xff0c;其中 1可以匹配a,c 2可以匹配a,b 3…

数据结构 图的广度优先搜索和深度优先搜索

一、广度优先搜索 广度优先搜索等价于树的层次遍历&#xff0c;将起点的每一层进行遍历 当这一层结点全部被遍历完时&#xff0c;再遍历下一层次&#xff0c;从图中可以根据距离遍历起点的长度进行层次选择 例&#xff1a; 以a结点作为开始结点 a的下一层次有b c e三个结点 所以…

原先有一个图,dfs序是1,2,...,n, 但是其中一些边被破坏,给定被破坏边后的图,求最少要加几条边,可以使图的dfs序为1,2,...,n

题目 #include<bits/stdc.h> using namespace std; #define int long long #define pb push_back const int maxn 2e5 5, maxm 2e3 5; int a[maxn]; int nxt;//下一个应该遍历的结点 int res 0; int n, m; vector<int> G[maxn]; void dfs(int u){if(u nxt) …

C++面试宝典第20题:计算岛屿数量

题目 在二维网格地图上,1 表示陆地,0 表示水域。如果相邻的陆地可以水平或垂直连接,则它们属于同一块岛屿。请进行编码,统计地图上的岛屿数量。比如:下面的二维网格地图,其岛屿数量为3。 解析 这道题主要考察应聘者对深度优先搜索、广度优先搜索、二维数组和矩阵操作、边…

Leetcode—131.分割回文串【中等】

2023每日刷题&#xff08;五十九&#xff09; Leetcode—131.分割回文串 算法思想 实现代码 class Solution { public:bool isPalindrome(string s, int left, int right) {while(left < right) {if(s[left] ! s[right--]) {return false;}}return true;}vector<vector…

算法基础之筛法求欧拉函数

筛法求欧拉函数 核心思想 &#xff1a;线性筛法 筛的过程中顺便求欧拉函数 第一种情况 (i % prime[j] 0) 第二种情况 (i % prime[j] ! 0) #include<iostream>#include<algorithm>using namespace std;typedef long long LL;const int N 1000010;int prime[N],cnt…

【蓝桥杯】树的重心

树的重心 图的dfs模板 int dfs(int u) {st[u]true;for(int ih[u];i!-1;ine[i]){int je[i];if(!st[j]){dfs(j);}} }树是这样的。 邻接表&#xff1a; 1: 4->7->2->-1 2: 5->8->1->-1 3: 9->4->-1 4: 6->3->1->-1 5: 2->-1 6: 4->-1 7…

数据结构与算法设计分析——常用搜索算法

目录 一、穷举搜索二、图的遍历算法&#xff08;一&#xff09;深度优先搜索&#xff08;DFS&#xff09;&#xff08;二&#xff09;广度优先搜索&#xff08;BFS&#xff09; 三、回溯法&#xff08;一&#xff09;回溯法的定义&#xff08;二&#xff09;回溯法的应用 四、分…

58 回溯算法求组合问题

问题描述&#xff1a;给定一个无重复元素的数组nums和一个目标数&#xff0c;找出nums中所有可以使数字和为target的组合&#xff1b; 回溯分析&#xff1a;没个数都有选与不选两种情况&#xff0c;所以回溯深度为nums.length,一旦当前target0&#xff0c;则加入组合中&#x…

[dfs搜索寻找矩阵中最长递减序列]魔法森林的秘密路径

魔法森林的秘密路径 题目描述 在一个遥远的国度里&#xff0c;存在一个神秘的魔法森林&#xff0c;传说中森林深处隐藏着一个古老的宝藏。这个宝藏只能通过找到森林中最长的“递减魔法路径”来解锁。这个路径由一系列魔法石组成&#xff0c;每个魔法石刻有不同的数字&#xf…

408-数据结构-代码题

2014 2014 二叉树&#xff08;链式存储&#xff09; #include<iostream> #include<bits/stdc.h> using namespace std;typedef struct Node{struct Node *left;struct Node *right;int high0;double weight; }node;double sum0;void visit(node *t){int lop0;if…

树与图的深度优先遍历、宽度优先遍历算法总结

知识概览 树是特殊的图&#xff0c;是无环连通图图分为有向图和无向图。因为无向图可以转化为有向图&#xff0c;树可以转化为图。因此本文讨论有向图。 树和图的存储&#xff1a; 邻接矩阵&#xff1a;空间复杂度&#xff0c;适合存储稠密图。邻接表&#xff1a;存储每个点可以…

搜索<1>——DFS与回溯

前言:本系列(搜索)博客主要介绍的是用DFS解决一些问题&#xff0c;并不是图论中的DFS Part 1:DFS dfs相信大家都有了解&#xff0c;TA是一个图论中的算法。 中心思想就是:只要干不死&#xff0c;就往死里干! 具体来说&#xff0c;就是只要符合要求&#xff0c;就一直往前搜…

洛谷P1049装箱问题 ————递归+剪枝+回溯

没没没没没没没没没错&#xff0c;又是一道简单的递归&#xff0c;只不过加了剪枝&#xff0c;我已经不想再多说&#xff0c;这道题写了一开始写了普通深搜&#xff0c;然后tle了一个点&#xff0c;后面改成剪枝&#xff0c;就ac了&#xff0c;虽然数据很水&#xff0c;但是不妨…

2023年浙大城市学院新生程序设计竞赛(同步赛)G

登录—专业IT笔试面试备考平台_牛客网 题意 思路 首先想法非常单一&#xff0c;一定是去枚举操作点&#xff0c;然后看它染白和不染的价值差值 也就是说&#xff0c;把一个黑色结点染白之后&#xff0c;对哪些结点的价值会影响 不难想象其实就是操作结点的子树和该点连通的…

C++迷宫游戏详解

个人主页&#xff1a;[PingdiGuo_guo] 收录专栏&#xff1a;[C干货专栏] 大家好呀&#xff0c;我是PingdiGuo_guo&#xff0c;今天我们来学习用C实现一个迷宫游戏。 目录 1.迷宫的具体步骤 1.1.迷宫的初始化 1.2.寻路算法 1.DFS算法 2.BFS算法 1.3.移动 2.总结 C迷宫游…

Codeforces Round 907 (Div. 2) (C 贪心 D套路? F dfs序+差分树状数组)

A&#xff1a; 这种操作题&#xff0c;每次先想这个操作有什么性质 对于2^0来说可以操作 第1位 对于2^1来说可以操作 第1-2位 对于2^2来说可以操作 第1-4位 &#xff08;第3位无法单独修改&#xff09; 对于2^3来说可以操作 第1-8位&#xff08;第5 6 7位无法单独修改&…

182.【2023年华为OD机试真题(C卷)】敏感字段加密(字符串的分割、替换和拼接实现JavaPythonC++JS)

请到本专栏顶置查阅最新的华为OD机试宝典 点击跳转到本专栏-算法之翼:华为OD机试 🚀你的旅程将在这里启航!本专栏所有题目均包含优质解题思路,高质量解题代码,详细代码讲解,助你深入学习,深度掌握! 文章目录 【2023年华为OD机试真题(C卷)】敏感字段加密(字符串…

Leetcode—62.不同路径【中等】

2023每日刷题&#xff08;七十二&#xff09; Leetcode—62.不同路径 超时dfs代码 class Solution { public:int uniquePaths(int m, int n) {int starti 1, startj 1;int ans 0;function<void(int, int)> dfs [&](int i, int j) {if(i m && j n) {a…

LeetCode200. Number of Islands——DFS

文章目录 一、题目二、题解 一、题目 Given an m x n 2D binary grid grid which represents a map of 1’s (land) and 0’s (water), return the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertic…

暴搜,回溯,剪枝

力扣77.组合 class Solution {List<List<Integer>>retnew ArrayList<>();List<Integer>pathnew ArrayList<>();int n; int k;public List<List<Integer>> combine(int _n, int _k) {n_n;k_k;dfs(1);return ret;}public void dfs(int…

二分搜索树深度优先遍历(Java 实例代码)

目录 二分搜索树深度优先遍历 Java 实例代码 src/runoob/binary/Traverse.java 文件代码&#xff1a; 二分搜索树深度优先遍历 二分搜索树遍历分为两大类&#xff0c;深度优先遍历和层序遍历。 深度优先遍历分为三种&#xff1a;先序遍历&#xff08;preorder tree walk&am…

(迷宫问题)DFS(递归+非递归)

目录 介绍 步骤 应用 遍历图/树 查找路径/解决问题 迷宫 非递归版本 思路 代码 递归版本 思路 代码 介绍 深度优先搜索&#xff08;Depth-First Search&#xff0c;DFS&#xff09;是一种用于图和树等数据结构中的遍历或搜索算法 它通过尽可能深地探索图的分支&a…

【刷题篇】回溯算法(深度优先搜索(一))

文章目录 无重复字符串的排列组合员工的重要性图像渲染被围绕的区域 无重复字符串的排列组合 无重复字符串的排列组合。编写一种方法&#xff0c;计算某字符串的所有排列组合&#xff0c;字符串每个字符均不相同。 class Solution { public:void DFS(string &s,vector<s…

2024/2/12 图的基础知识 2

目录 查找文献 P5318 【深基18.例3】查找文献 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 有向图的拓扑序列 848. 有向图的拓扑序列 - AcWing题库 最大食物链计数 P4017 最大食物链计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 查找文献 P5318 【深基18.例3】…

2022 年辽宁省大学生程序设计竞赛 个人题解

title : 2022 年辽宁省大学生程序设计竞赛 date : 2022-10-25 tags : ACM,练习记录 author : Linno 2022 年辽宁省大学生程序设计竞赛 题目链接&#xff1a;https://ac.nowcoder.com/acm/contest/43937 进度&#xff1a;10/13 质量比较差的场&#xff0c;后三题是错的&#…

c++数据结构第六周(图),深搜、广搜(stl版)

本方法皆用vector进行邻接表模拟 7-1 图的先深搜索 作者 唐艳琴 单位 中国人民解放军陆军工程大学 输出无向图的给定起点的先深序列。 输入格式: 输入第一行给出三个正整数&#xff0c;分别表示无向图的节点数N&#xff08;1<N≤10&#xff09;、边数M&#xff08;≤50&a…

Python:迷宫

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 X 星球的一处迷宫游乐场建在某个小山坡上。它是由 1010 相互连通的小房间组成的。 房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立&#xff0…

蓝桥dfs专题

1、dfs 路径打印 小明冒充X星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。 假设城堡地面是 n x n 个方格。【如图1.png】所示。 按习俗&#xff0c;骑士要从西北角走到东南角。 可以横向或纵向移动&#xff0c;但不能…

重温数据结构与算法之深度优先搜索

文章目录前言一、实现1.1 递归实现1.2 栈实现1.3 两者区别二、LeetCode 实战2.1 二叉树的前序遍历2.2 岛屿数量2.3 统计封闭岛屿的数目2.4 从先序遍历还原二叉树参考前言 深度优先搜索&#xff08;Depth First Search&#xff0c;DFS&#xff09;是一种遍历或搜索树或图数据结…

ACM训练题:Division

题意是给你N&#xff0c;打印出所有相除等于N的五位数&#xff08;包含前导零&#xff09;&#xff0c;可以枚举后五位&#xff0c;计算量是10&#xff01;/5&#xff01;&#xff0c;然后乘N&#xff0c;一起检验10个数是否都出现。 AC代码&#xff1a; #include <iostre…

【算法】网络最大流问题,三次尝试以失败告终

文章目录开始基本思路&#xff1a;“反悔”机制干活尝试一&#xff1a;深度优先搜索尝试二&#xff1a;少走弯路尝试三&#xff1a;最短增广路径&#xff0c;广度优先还是没ac记两个小bug1. 数组越界2. 写错变量名小结最后一个版本的代码&#xff08;C&#xff09;定义类与函数…

第 46 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南),签到题2题

文章目录K.Search For MafuyuC.Optimal Strategy补题链接&#xff1a;https://pintia.cn/market/item/1459833348620926976 K.Search For Mafuyu K Search For Mafuyu (300分) Mafuyu has hidden in Sekai, and Kanade is searching for her. In Sekai, there is nothing bu…

【代码随想录】-回溯专题

文章目录基础理论组合组合总和3电话号码的字母组合组合总和组合总和2分割回文串复原ip地址子集问题子集2递增子序列全排列全排列2重新安排行程N皇后解数独基础理论 回溯算法实际上一个类似枚举的搜索尝试过程&#xff0c;主要是在搜索尝试过程中寻找问题的解&#xff0c;当发现…

93、【树与二叉树】leetcode ——222. 完全二叉树的节点个数:普通二叉树求法+完全二叉树性质求法(C++版本)

题目描述 原题链接&#xff1a;222. 完全二叉树的节点个数 解题思路 1、普通二叉树节点个数求法 &#xff08;1&#xff09;迭代&#xff1a;层序遍历BFS 遍历一层获取一层结点 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode …

104 二叉树的垂序遍历

问题描述&#xff1a;给你二叉树的根节点root&#xff0c;请你设计算法计算二叉树的垂序遍历序列。对位于(row,col)的每个节点而言&#xff0c;其左右子节点分别为(row1,col-1)和(row1,col1),根节点位于(0,0),二叉树的垂序遍历是从最左边的列开始直到最右边的列结束&#xff0c…

完全平方数问题

说明用0至9这10个数字组成一位数、两位数、三位数、四位数各一个&#xff0c;使它们都是非零的完全平方数.例如1&#xff0c;36&#xff0c;784&#xff0c;9025就是满足条件的一种分法输出格式输出有多少种方案题解我们可以自己造出完全平方数&#xff0c;怎么造呢&#xff1f…

数据结构学习 jz34 二叉树中和为某一值的路径

关键词&#xff1a;回溯 二叉树 前序遍历 路径记录 因为我没有仔细接触过二叉树的遍历过程&#xff0c;所以我是懵懵懂懂按照dfs的方法写的。没想到写对了&#xff0c;看了解答发现这叫做二叉树的前序遍历。用时29min。 这让我明白了前序遍历和dfs原来是有相同之处的。&#…

223.【2023年华为OD机试真题(C卷)】小华最多能得到多少克黄金(优先搜索DFS-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-小华最多能得到多少克黄金二.解题思路三.题解代…

167. 木棒(dfs剪枝,经典题)

167. 木棒 - AcWing题库 乔治拿来一组等长的木棒&#xff0c;将它们随机地砍断&#xff0c;使得每一节木棍的长度都不超过 50 个长度单位。 然后他又想把这些木棍恢复到为裁截前的状态&#xff0c;但忘记了初始时有多少木棒以及木棒的初始长度。 请你设计一个程序&#xff0…

leetcode算法题之递归--综合练习(一)

此专题对我们之前所学的关于递归的内容进行一个整合&#xff0c;大家可以自行练习&#xff0c;提升自己的编码能力。 本章目录 1.找出所有子集的异或总和在求和2.全排列II3.电话号码的字母组合4.括号生成5.组合6.目标和7.组合总和8.字母大小写全排列9.优美的排列 1.找出所有子…

228.【2023年华为OD机试真题(C卷)】传递悄悄话(优先搜索(DFS)-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-传递悄悄话二.解题思路三.题解代码Python题解代…

C++中的深度优先搜索算法

C中的深度优先搜索算法 深度优先搜索&#xff08;DFS&#xff09;是一种用于遍历或搜索树或图的算法。这个算法会尽可能深的搜索树的分支。当节点v的所在边都己被探寻过&#xff0c;搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点…

详解DFS(深度优先搜索)算法+模板+指数+排列+组合型枚举+带分数四道例题

目录 前言&#xff1a; 1.背景 2.图解分析 3.算法思想 4.dfs四大例题 4.1.递归实现指数型枚举 题解&#xff1a; 4.2.递归实现排列型枚举 题解&#xff1a; 字典序: 4.3.递归实现组合型枚举 题解: 4.4.带分数 题解&#xff1a; 5.最后&#xff1a; 前言&#xff1a;…

leetcode115 不同的子序列

题目 给定一个字符串 s 和一个字符串 t &#xff0c;计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指&#xff0c;通过删除一些&#xff08;也可以不删除&#xff09;字符且不干扰剩余字符相对位置所组成的新字符串。&#xff08;例如&#xff0c;“ACE” 是 “…

LeetCode-(94,144,145).二叉树的前中后续遍历

目录二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历二叉树的前序遍历 递归 class Solution {public List<Integer> preorderTraversal(TreeNode root) {List<Integer> list new ArrayList<>();dfs(root,list);return list;}public static void dfs(T…

递归、搜索与回溯算法(专题一:递归)

往期文章&#xff08;希望小伙伴们在看这篇文章之前&#xff0c;看一下往期文章&#xff09; &#xff08;1&#xff09;递归、搜索与回溯算法&#xff08;专题零&#xff1a;解释回溯算法中涉及到的名词&#xff09;【回溯算法入门必看】-CSDN博客 接下来我会用几道题&#…

DFS深度优先算法 —— AcWing 842. 排列数字AcWing 843. n-皇后问题

一、了解dfs1、DFS&#xff08;Depth First Search&#xff09;DFS在我看来就是一条路走到黑&#xff0c;直到无路可走的情况下&#xff0c;才会选择回头&#xff0c;然后重新选择一条路&#xff08;官方说法即“优先考虑深度”&#xff09;整个进程反复进行直到所有节点都被访…

P1162 填涂颜色【解析】-----深度优先搜索

填涂颜色 题目描述 由数字 0 0 0 组成的方阵中&#xff0c;有一任意形状的由数字 1 1 1 构成的闭合圈。现要求把闭合圈内的所有空间都填写成 2 2 2。例如&#xff1a; 6 6 6\times 6 66 的方阵&#xff08; n 6 n6 n6&#xff09;&#xff0c;涂色前和涂色后的方阵如下&…

一区优化直接写:KOA-CNN-BiLSTM-Attention开普勒优化卷积、长短期记忆网络融合注意力机制的多变量回归预测程序!

适用平台&#xff1a;Matlab 2023版及以上 KOA开普勒优化算法&#xff0c;于2023年5月发表在SCI、中科院1区Top顶级期刊《Knowledge-Based Systems》上。 该算法提出时间很短&#xff0c;目前还没有套用这个算法的文献。 同样的&#xff0c;我们利用该新鲜出炉的算法对我们的…

寒假刷题-递归与递推

寒假刷题 92. 递归实现指数型枚举 解法1递归 使用递归对每一个坑位进行选择&#xff0c;每个坑位有两种选择&#xff0c;填或者不填&#xff0c;使用st数组来记录每个坑位的状态&#xff0c;u来记录已经有多少坑位有了选择。 每个坑位有2钟选择&#xff0c;n个坑位的复杂度就…

1739. 迷宫的所有路径-深度优先搜索-DFS

代码&#xff1a; #include<bits/stdc.h> using namespace std; int n; int fx[4]{0,1,0,-1}; int fy[4]{1,0,-1,0}; bool vis[100][100]; int q[35][3]; int c; void print(int k){c;cout<<c<<":";for(int i1;i<k;i){cout<<q[i][1]<…

119 BFS和DFS解二叉树的所有路径

问题描述&#xff1a;给定一个二叉树&#xff0c;返回所有从根节点到叶子节点的路径。说明&#xff1a;叶子节点是指没有子节点的节点。 DFS求解&#xff1a;定义一个全局的链表&#xff0c;用来装所有的结果&#xff0c;通过DFS遍历&#xff0c;一旦遍历到当前节点没有子节点…

试题 算法训练 N皇后问题(明确清晰)

试题 算法训练 N皇后问题 提交此题 评测记录 资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;100ms Java时间限制&#xff1a;300ms Python时间限制&#xff1a;500ms 问题描述   在N*N的方格棋盘放置了N个皇后&#xff0c;使得它们不相互攻击&#xff08;即…

数据结构与算法-二叉树-路径总和 II

路径总和 II 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], target…

图论第一天|797.所有可能的路径 200. 岛屿数量

目录 Leetcode797.所有可能的路径Leetcode200. 岛屿数量 Leetcode797.所有可能的路径 文章链接&#xff1a;代码随想录 题目链接&#xff1a;797.所有可能的路径 思路&#xff1a;深搜入门&#xff0c;注意邻接表和邻接矩阵的形式 class Solution { public:vector<vector&l…

c语言数据结构-图的遍历

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 定义&#xff1a; 两种遍历方法&#xff1a; 深度优先搜索&#xff08;DFS&#xff09;&#xff1a; …

【PAT甲级题解记录】1079 Total Sales of Supply Chain(25 分)

【PAT甲级题解记录】1079 Total Sales of Supply Chain(25 分) 前言 Problem&#xff1a;1079 Total Sales of Supply Chain (25 分) Tags&#xff1a;树的带权路径长度 树的遍历 Difficulty&#xff1a;剧情模式 想流点汗 想流点血 死而无憾 Address&#xff1a;1079 Total S…

KY98 棋盘游戏

DFS 深搜板子 ti #include<bits/stdc.h>using namespace std;#define ll long longstruct Node {int m, n; };int n; int res 100010; int v[6][6]; int a, b, c, d; bool st[6][6]; ll pp[6][6]; int xi[4] {1, 0, -1, 0}; int yi[4] {0, 1, 0, -1};void dfs(int x,…

P5318 【深基18.例3】查找文献

题目描述 小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个&#xff08;也有可能没有&#xff09;参考文献的链接指向别的博客文章。小K 求知欲旺盛&#xff0c;如果他看了某篇文章&#xff0c;那么他一定会去看这篇文章的参考文献&#xff08;如果他之前已经看过这篇参考…

图的遍历-DFS与BFS

图的遍历-DFS与BFS 绪论一.用vector存储图 + dfs二,用vector存储图 + bfs三.用数组模拟邻接表存储图 + dfs四.用数组模拟邻接表存储图 + bfs绪论 有个问题:什么时候需要记录该点是否已经遍历过? 1.先说结论: D F S DFS DFS不需要记录该点是否已经遍历过 但是你需要知道的是, …

C++ [图论算法详解] 欧拉路欧拉回路

蒟蒻还在上课&#xff0c;所以文章更新的实在慢了点 那今天就来写一篇这周刚学的欧拉路和欧拉回路吧 讲故事环节&#xff1a; 在 一个风雪交加的夜晚 18世纪初普鲁士的哥尼斯堡&#xff0c;有一条河穿过&#xff0c;河上有两个小岛&#xff0c;有七座桥把两个岛与河岸联系…

无向连通图中长度为 n 的循环

给定一个无向连通图和一个数字 n,计算图中长度为 n 的循环总数。长度为 n 的圈简单地表示该圈包含 n 个顶点和 n 条边。我们必须计算所有存在的此类循环。 示例: 输入:n = 4 输出:总周期数 = 3 解释 :遵循 3 个独特的循环0 -> 1 -> 2 -> 3 -> 0 0 -> 1 …

洛谷p1157组合的输出

组合的输出 题目描述 排列与组合是常用的数学方法&#xff0c;其中组合就是从 n n n 个元素中抽出 r r r 个元素&#xff08;不分顺序且 r ≤ n r \le n r≤n&#xff09;&#xff0c;我们可以简单地将 n n n 个元素理解为自然数 1 , 2 , … , n 1,2,\dots,n 1,2,…,n&a…

洛谷p1036选数

[NOIP2002 普及组] 选数 题目描述 已知 n n n 个整数 x 1 , x 2 , ⋯ , x n x_1,x_2,\cdots,x_n x1​,x2​,⋯,xn​&#xff0c;以及 1 1 1 个整数 k k k&#xff08; k < n k<n k<n&#xff09;。从 n n n 个整数中任选 k k k 个整数相加&#xff0c;可分别得…

day18打卡

day18打卡 513. 找树左下角的值 递归法时间复杂度&#xff1a;O(N)&#xff0c;空间复杂度&#xff1a;O(N) class Solution { public:int maxDepth INT_MIN;int ret;int findBottomLeftValue(TreeNode* root) {dfs(root, 0);return ret;}void dfs(TreeNode* root, int dep…

【代码随想录】LC 349. 两个数组的交集

文章目录 前言一、题目1、原题链接2、题目描述 二、解题报告1、思路分析2、时间复杂度3、代码详解 前言 本专栏文章为《代码随想录》书籍的刷题题解以及读书笔记&#xff0c;如有侵权&#xff0c;立即删除。 一、题目 1、原题链接 349. 两个数组的交集 2、题目描述 二、解题报…

【每日一题Day139】LC1096花括号展开 I dfs

花括号展开 II【LC1096】 如果你熟悉 Shell 编程&#xff0c;那么一定了解过花括号展开&#xff0c;它可以用来生成任意字符串。 花括号展开的表达式可以看作一个由 花括号、逗号 和 小写英文字母 组成的字符串&#xff0c;定义下面几条语法规则&#xff1a; 如果只给出单一的元…

LeetCode·每日一题·1096. 花括号展开 II·DFS+HASH

作者&#xff1a;Guang链接&#xff1a;https://leetcode.cn/problems/brace-expansion-ii/solutions/997719/xss1096-hua-gua-hao-zhan-kai-iiby-zgh-by-vumf/来源&#xff1a;力扣&#xff08;LeetCode&#xff09;著作权归作者所有。商业转载请联系作者获得授权&#xff0c;…

Z0423 树的染色2

Description 一个n个节点的树。 现在用k种颜色&#xff0c;给树上的每个节点染色 要求: 任何两个距离不大于2的不同节点被染的颜色不同。 由于答案可能过大&#xff0c;请将其对10^97取模。 Format Input 第一行一个数n,k&#xff0c;含义如题 接下来共有n-1行&#x…

【C++基础】递归进阶之全排列、组合

1.排列组合 排列&#xff1a;从n个元素中任取m个元素&#xff0c;按照一定的顺序排列起来&#xff0c;叫做m的全排列。 组合&#xff1a;从n个元素中任取m个元素为一组&#xff0c;m个数的组合。 注意&#xff1a; 排列有序&#xff0c;组合无序。 例&#xff1a;从[1,2,3]…

P1706 全排列问题

题目描述 按照字典序输出自然数 1 到 n 所有不重复的排列&#xff0c;即 n 的全排列&#xff0c;要求所产生的任一数字序列中不允许出现重复的数字。 输入格式 一个整数n。 输出格式 由 1∼n 组成的所有不重复的数字序列&#xff0c;每行一个序列。 每个数字保留 5 个场宽…

挑战程序设计竞赛——水洼计数

有一个大小为 N \times MNM 的园子&#xff0c;雨后发生积水。八连通的积水被认为是连接在一起的。 请求出园子中有多少个水洼&#xff1f; 何为八连通 *** *W* ***对于 W 来说&#xff0c;* 就是八个与它连通的点输入 第一行两个整数 N,M(1 \leq N,M \leq 100)N,M(1≤N,M≤…

剑指 Offer II 028. 展平多级双向链表

题目链接 剑指 Offer II 028. 展平多级双向链表 mid 题目描述 多级双向链表中&#xff0c;除了指向下一个节点和前一个节点指针之外&#xff0c;它还有一个子链表指针&#xff0c;可能指向单独的双向链表。这些子列表也可能会有一个或多个自己的子项&#xff0c;依此类推&…

CF840B Leha and another game about graph 题解(证明 dfs 求解的正确性 + 详细注释代码)

题意 给定 nnn 个点&#xff0c;mmm 条边&#xff0c;保证没有自环&#xff0c;且图连通。对于每个点有一个期望度数d[i]d[i]d[i]&#xff0c;−1≤d[i]≤1-1\leq d[i]\leq1−1≤d[i]≤1。询问是否能保存图中的一些边使得所有点的度数的奇偶性与期望度数的奇偶性相同。&#x…

软件设计师笔记——(第八章:算法设计与分析)

目录 一、历年真题总结 二、回溯法&#xff08;⭐⭐⭐&#xff09; 1、N皇后&#xff08;回溯法&#xff09;&#xff08;19上&#xff09; 2、N皇后&#xff08;循环法&#xff09;&#xff08;15上&#xff09; 3、深度优先&#xff08;17下&#xff09; 三、分治法&am…

试题 算法训练 逗志芃的暴走

问题描述 逗志芃是有妹子的现充&#xff0c;但是有时候妹子就是烦恼。因为逗志芃太逗了&#xff0c;所以这段时间妹子对逗志芃发动了技能无理取闹&#xff0c;妹子要去玩很多的景点。由于逗志芃之前抽机花费了太多的时间&#xff0c;不久以后又要微积分考试了&#xff0c;所以现…

【LeetCode】Day212-机器人的运动范围

题目 面试题13. 机器人的运动范围【中等】 题解 机器人每次只能移动一格&#xff0c;因此每次只需计算 x 到 x1 的数位和增量。 数位和增量公式&#xff1a;设x的数位和sxs_xsx​&#xff0c;x的数位和sx1s_{x1}sx1​ 当 (x1)%100 时&#xff1a;sx1sx−8s_{x1}s_x-8sx1​…

leetcode 有重复字符串的排列组合(面试题)

题目 有重复字符串的排列组合。编写一种方法&#xff0c;计算某字符串的所有排列组合。 示例1: 输入&#xff1a;S “qqe” 输出&#xff1a;[“eqq”,“qeq”,“qqe”] 示例2: 输入&#xff1a;S “ab” 输出&#xff1a;[“ab”, “ba”] 提示: 字符都是英文字母。 字符串长…

22 - 二叉树(四)

文章目录一、 二叉搜索树的最近公共祖先1. 二叉搜索树的最近公共祖先2. 二叉树的最近公共祖先3. 从二叉树中找到两个节点的最近公共祖先二、重建二叉树1. 从先序和中序遍历序列构造二叉树2. 从中序和后序遍历序列构造二叉树一、 二叉搜索树的最近公共祖先 1. 二叉搜索树的最近…

数据结构与算法基础(王卓)(24):深度优先遍历算法DFS和广度优先遍历算法BFS

深度优先遍历算法DFS&#xff1a; 邻接矩阵&#xff1a; #include<iostream> using namespace std;typedef int Status; #define MaxInt 999999 //表示无穷大 #define MVNum 100 //最大顶点数 //MAX Vertex Number typedef char VertexType; //设顶点类型&#xff1…

bfs dfs

目录bfs dfsdfs题目bfs dfs 树、迷宫是图的特殊形式 迷宫问题常用bfs BFS DFS算法 可以解决 图论问题&#xff0c;这只是它们的用途之一 bfs breadth First Search 宽度优先搜索算法 广度优先搜索 dfs depth First Search 深度优先搜索 bfs breadth First Search 宽度…

一日一题:第三题--方格迷宫(DFS小难,不过很详细!)

题目描述 给定一个 n 行 m 列的方格矩阵。 行从上到下依次编号为 1∼n&#xff0c;列从左到右依次编号为 1∼m。 第 i 行第 j 列的方格表示为 (i,j)。 矩阵中的方格要么是空地&#xff08;用 . 表示&#xff09;&#xff0c;要么是陷阱&#xff08;用 # 表示&#xff09;。…

分考场

[蓝桥杯 2017 国 C] 分考场(假题&#xff1a;最小色数) 题目描述 nnn 个人参加某项特殊考试。 为了公平&#xff0c;要求任何两个认识的人不能分在同一个考场。 求最少需要分几个考场才能满足条件。 输入格式 第一行&#xff0c;一个整数 n(1<n<100)n(1<n<100…

题341.最小生成树扩展-acwing-Q1148--秘密的牛奶运输

文章目录题341.最小生成树扩展-acwing-Q1148--秘密的牛奶运输一、题目二、题解题341.最小生成树扩展-acwing-Q1148–秘密的牛奶运输 一、题目 二、题解 由于牛奶运输往销售点后可由销售点继续运输往其他地方&#xff0c;要你求牛奶运输往各个销售点所需的次最小花费&#xff0c…

洛谷 P1341 无序字母对

【题目链接】 洛谷 P1341 无序字母对 【题目考点】 1. 欧拉图&#xff1a;欧拉路径&#xff08;无向图&#xff09; 【解题思路】 每个字母是一个顶点&#xff0c;每个字母对是一条边。“无序即字母对中的两个字母可以位置颠倒”&#xff0c;意味着这样的边连接的两个字母…

【剑指offer-C++】JZ79:判断是不是平衡二叉树

【剑指offer-C】JZ79&#xff1a;判断是不是平衡二叉树题目描述解题思路题目描述 描述&#xff1a;输入一棵节点数为 n 二叉树&#xff0c;判断该二叉树是否是平衡二叉树。 在这里&#xff0c;我们只需要考虑其平衡性&#xff0c;不需要考虑其是不是排序二叉树。 平衡二叉树…

【华为od2023机试-C++版】过滤组合字符串

题目描述&#xff1a;过滤组合字符串 数字0、1、2、3、4、5、6、7、8、9分别关联a~z 26个英文字母。 。0关联“a",“b”,“c” 。1关联“d”," e" ,“f’。2关联“g”,“h” ," i"。3关联““,“k”,“I”。4关联“m”,“n”,” o"。5关联“p&qu…

Leetcode 刷题必须Review 二十一 Lintcode(71 650 69 85 93)

文章目录71 二叉树的锯齿形层次遍历650 二叉树叶子顺序遍历69 二叉树的层次遍历85 在二叉查找树中插入节点93 平衡二叉树71 二叉树的锯齿形层次遍历 给出一棵二叉树&#xff0c;返回其节点值的锯齿形层次遍历&#xff08;先从左往右&#xff0c;下一层再从右往左&#x…

PAT 甲 1106 Lowest Price in Supply Chain

2022.1.28 练习 PAT甲 1106 Lowest Price in Supply Chain&#xff08;原题链接&#xff09; 题解如下&#xff1a; #include <bits/stdc.h> using namespace std; const int MAX_SIZE100010; const int INF1e8; int n; double p,r;vector<int> child[MAX_SIZE];…

图里查找顶点间是否存在路径,c/c++描述

路径的查找问题&#xff0c;以往我们遇到过的&#xff0c;有栈的迷宫问题&#xff0c;树里根节点到叶节点的路径问题&#xff0c;哈夫曼编码。这些路径的查找&#xff0c;是相似的。找到路径则输出到屏幕。没有则不输出。同时&#xff0c;在图里面要防止路径上顶点重复&#xf…

【Spring Boot】什么是深度优先遍历与广度优先遍历?用Spring Boot项目举例说明。

深度优先遍历&#xff08;Depth First Search&#xff0c;DFS&#xff09;和广度优先遍历&#xff08;Breadth First Search&#xff0c;BFS&#xff09;是图的遍历算法。其中&#xff0c;深度优先遍历从某个起始点开始&#xff0c;先访问一个节点&#xff0c;然后跳到它的一个…

C. Uncle Bogdan and Country Happiness(dfs + 回溯)

Problem - C - Codeforces 波格丹叔叔在弗林特船长的团队里待了很长一段时间&#xff0c;有时会怀念他的家乡。今天他告诉你他的国家是如何引入幸福指数的。有n个城市和n -1条连接城市的无方向道路。任何城市的公民都可以通过这些道路到达任何其他城市。城市编号从1到n&#xf…

LeetCode学习-第二十七天

第二十七天 我使用的C&#xff0c;错误的地方请见谅&#xff0c;文章初衷仅用来督促本人学习&#xff0c;如果恰巧能够给你带来帮助&#xff0c;我会十分开心。 文章目录第二十七天一、130. 被围绕的区域二、797. 所有可能的路径三、78. 子集一、130. 被围绕的区域 给你一个 …

POJ - 2282 The Counting Problem(数位DP 计数问题)

题目如下&#xff1a; Given two integers a and b, we write the numbers between a and b, inclusive, in a list. Your task is to calculate the number of occurrences of each digit. For example, if a1024a 1024a1024 and b1032b 1032b1032, the list will be 10241…

#Z2322. 买保险

一.题目 二.思路 1.暴力 训练的时候&#xff0c;初看这道题&#xff0c;这不就打个暴力吗&#xff1f; 2.暴力代码 #include<bits/stdc.h> #define int long long using namespace std; int n,m,fa,x,y,vis[1000001],ans; vector<int> vec[1000001]; void dfs(i…

刷题记录:牛客NC24048[USACO 2017 Jan P]Promotion Counting 求子树的逆序对个数

传送门:牛客 题目描述 奶牛们又一次试图创建一家创业公司&#xff0c;还是没有从过去的经验中吸取教训–牛是可怕的管理者&#xff01; 为了方便&#xff0c;把奶牛从 1∼n1\sim n1∼n 编号&#xff0c;把公司组织成一棵树&#xff0c;1 号奶牛作为总裁&#xff08;这棵树的根…

【蓝桥杯集训·每日一题】AcWing 3555. 二叉树

文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴最近公共祖先一、题目 1、原题链接 3555. 二叉树 2、题目描述 给定一个 n 个结点&#xff08;编号 1∼n&#xff09;构成的二叉树&#xff0c;其根结点为 1 号点。 进行 m…

DFS——剪枝

dfs在每个点&#xff08;状态&#xff09;的情况比较多&#xff0c;但是节点比较少的时候很常用&#xff0c;我们将每个状态的情况延伸出去&#xff0c;可以画出一棵搜索树。dfs会搜到每一种情况&#xff0c;所以我们实际上可以按照任意顺序来判否。为了优化搜索我们可以在搜索…

2022-2023 ICPC Brazil Subregional Programming Contest

文章目录前言A. Finding Maximal Non-Trivial MonotonesD. Displacing ParticlesE. Eliminating BallonsF. Multidimensional HangmanI. Intercepting InformationJ. Playing 23总结前言 vp补题 A. Finding Maximal Non-Trivial Monotones 题意&#xff1a;给定只含有a,b的字…

长沙学院2023 第一次蓝桥训练题解

每道题都在洛谷上&#xff0c;每个题都有很详细的题解&#xff0c;可以先自行做&#xff0c;不会再看题解。 题目解析思路都写在代码中&#xff0c;中文题面就不单独解释题意了。 P2440 木材加工&#xff08;二分答案&#xff09; 链接&#xff1a;P2440 木材加工 解析 代码…

CF27E (2000) (反素数)

https://codeforces.com/contest/27/problem/E 反素数&#xff1a; 若N < 2 ^ 31 引理1&#xff1a; 1 ~ N 中的反素数&#xff0c;就是 1 ~ N中约数个数最多的数中 最小 的一个。 引理2&#xff1a; 1 ~ N 中任何数的不同质因子都不会超过 10 个且所有质因子的质数都不会超…

1110 Complete Binary Tree(超详细注解+31行代码)

分数 25 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 Given a tree, you are supposed to tell if it is a complete binary tree. Input Specification: Each input file contains one test case. For each case, the first line gives a positive integer N …

Codeforces Round 872 (Div. 2)

Problem - D2 - Codeforces 思路&#xff1a; 我们设good点到所有k点的距离和为dis。 假设good点不止一个&#xff0c;那么我们good点的dis应该都是相等的&#xff08;废话&#xff09;。设当前点u是good点&#xff0c;如果他往儿子v移动&#xff0c;儿子有w个点属于k&#…

【2023华为OD笔试必会25题--C语言版】《03 单入口空闲区域》——递归、数组、DFS

本专栏收录了华为OD 2022 Q4和2023Q1笔试题目,100分类别中的出现频率最高(至少出现100次)的25道,每篇文章包括原始题目 和 我亲自编写并在Visual Studio中运行成功的C语言代码。 仅供参考、启发使用,切不可照搬、照抄,查重倒是可以过,但后面的技术面试还是会暴露的。✨✨…

移动机器人运动规划---基于图搜索的基础知识---广度优先遍历与深度优先遍历

移动机器人运动规划---基于图搜索的基础知识---广度优先遍历与深度优先遍历 广度优先搜索&#xff08;BFS&#xff09;深度优先搜索&#xff08;DFS&#xff09;BFS vs DFS 图搜索优化的方向就是&#xff1a; 按照什么规则去访问节点&#xff0c;按照什么规则弹出节点&#xff…

1053 Path of Equal Weight(超级无敌详细注释+45行代码)

分数 30 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 Given a non-empty tree with root R, and with weight Wi​ assigned to each tree node Ti​. The weight of a path from R to L is defined to be the sum of the weights of all the nodes along the pa…

【算法】Vertical Order Traversal of a Binary Tree二叉树的垂序遍历

文章目录 987. Vertical Order Traversal of a Binary Tree二叉树的垂序遍历Tag 987. Vertical Order Traversal of a Binary Tree二叉树的垂序遍历 建议预备DFS&#xff0c;集合排序的知识&#xff0c;不然可能看的很慢。 一个二叉树根节点是root&#xff0c;要求垂序遍历 v…

实验 3:图形数据结构的实现与应用

东莞理工学院的同学可以借鉴&#xff0c;请勿抄袭 1.实验目的 通过实验达到&#xff1a; 理解和掌握图的基本概念、基本逻辑结构&#xff1b; 理解和掌握图的邻接矩阵存储结构、邻接链表存储结构&#xff1b; 理解和掌握图的 DFS、BFS 遍历操作的思想及其实现&#xff1b; …

LeetCode1376. 通知所有员工所需的时间

【LetMeFly】1376.通知所有员工所需的时间 力扣题目链接&#xff1a;https://leetcode.cn/problems/time-needed-to-inform-all-employees/ 公司里有 n 名员工&#xff0c;每个员工的 ID 都是独一无二的&#xff0c;编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。…

剑指 Offer 34. 二叉树中和为某一值的路径 / LeetCode 113. 路径总和 II(深度优先搜索)

题目&#xff1a; 链接&#xff1a;剑指 Offer 34. 二叉树中和为某一值的路径&#xff1b;LeetCode 113. 路径总和 II 难度&#xff1a;中等 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 …

【代码随想录】刷题Day23

1.修剪二叉搜索树 669. 修剪二叉搜索树 1.如果走到根节点为空&#xff0c;返回给上层空即可 2.如果根节点的数据比low还小&#xff0c;说明此时不需要走左边&#xff0c;因为左边一定比low小&#xff0c;所以左边不需要判断&#xff1b;但是右边无法保证&#xff0c;所以左边还…

算法练习-2:送外卖

n 个小区排成一列&#xff0c;编号为从 0 到 n-1 。一开始&#xff0c;美团外卖员在第0号小区&#xff0c;目标为位于第 n-1 个小区的配送站。 给定两个整数数列 a[0]~a[n-1] 和 b[0]~b[n-1] &#xff0c;在每个小区 i 里你有两种选择&#xff1a; 1) 选择a&#xff1a;向前 a[…

38 分割回文串(Palindrome Partitioning)

文章目录1 题目2 解决方案2.1 思路2.2 时间复杂度2.3 空间复杂度3 源码1 题目 题目&#xff1a;分割回文串&#xff08;Palindrome Partitioning&#xff09; 描述&#xff1a;给定字符串 s&#xff0c;需要将它分割成一些子串&#xff0c;使得每个子串都是回文串。返回所有可…

[Daimayuan] Owwwwwwwwwww...f(C++,强连通分量)

小 A A A地盘上的所有人被从 1 1 1 到 n n n 编号&#xff0c;每个人都有自己传话的对象&#xff0c;第 i i i 个人对第 a i a_i ai​个人传话。 有一天&#xff0c;小 A A A在宫殿的顶部大声喊着 O w f Owf Owf&#xff0c;于是一个有趣的游戏在小 A A A的地盘上开始了。 …

【】23 选课

题目描述 原题来自&#xff1a;CTSC 1997 大学实行学分制。每门课程都有一定的学分&#xff0c;学生只要选修了这门课并通过考核就能获得相应学分。学生最后的学分是他选修各门课的学分总和。 每个学生都要选择规定数量的课程。有些课程可以直接选修&#xff0c;有些课程需要…

龙岗区五联土地整备利益统筹项目,集体物业集中签约仪式

五联土地整备利益统筹项目启动以来街道高度重视相关工作开专题会、建工作组、设党支部把征拆工作一项项推进 截至6月1日已完成&#xff1a; 清租签约73户&#xff0c;面积9.55万m&#xff08;意向签约17户&#xff0c;约1.66万m&#xff09; 私人住宅业主补偿安置签约8户&…

2023.1.17单词打卡

rejoice v.欣喜 eternal adj.永恒的&#xff1b;无休止的 offline n.挂机;adj.&#xff08;计算机&#xff09;未联网的 senate n.参议院 ritual n.典礼&#xff1b;adj.仪式上的&#xff1b;例行的 frown v./n.皱眉 lest conj.以免 pyramid n.金字塔 ore n.矿石 reed…

leetcode刷题 | 关于二叉树的题型总结1

leetcode刷题 | 关于二叉树的题型总结1 文章目录leetcode刷题 | 关于二叉树的题型总结1题目连接完全二叉树插入器在每个树行中找最大值找树左下角的值二叉树的右视图二叉树剪枝题目连接 919. 完全二叉树插入器 - 力扣&#xff08;LeetCode&#xff09; 515. 在每个树行中找最…

数据结构——重点代码汇总

顺序表 设计算法&#xff0c;从顺序表L中删除值为x的元素。要求算法的时间复杂度为O(n)&#xff0c;空间复杂度为O(1)。设计算法&#xff0c;判断一个字符串是否是回文。如abc3cba是回文序列&#xff0c;而1331不是回文序列。从顺序存储结构的线性表a中删除第i个元素起的k个元…

网易2021校招笔试-C++开发工程师(提前批)

1. 平分物品 现在有n个物品&#xff0c;每一个物品都有一个价值&#xff0c;现在想将这些物品分给两个人&#xff0c;要求这两个人每一个人分到的物品的价值总和相同&#xff08;个数可以不同&#xff0c;总价值相同即可&#xff09;&#xff0c;剩下的物品就需要扔掉&#x…

“统信杯”第十七届黑龙江省大学生程序设计竞赛 AFHIL

A题 题解 以样例2为例 黄色区域为可以容纳下的书, 让我们分开来计算 因为a书不可被减少, 所以a书顶上至少能够装得下(n−m)b∗(h−a)\frac{(n-m)}{b}*(h-a)b(n−m)​∗(h−a) 然后再考虑b书头上, 设x为减少的b书 那么b书头上能够容纳m−xb∗(h−b)\frac{m-x}{b}*(h-b)bm−x​…

Python:每日一题之全球变暖(DFS连通性判断)

题目描述 你有一张某海域 NxN 像素的照片&#xff0c;"."表示海洋、"#"表示陆地&#xff0c;如下所示&#xff1a; ....... .##.... .##.... ....##. ..####. ...###. ....... 其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿…

剑指Offer专项突击版题解六

51.节点之和最大的路径 思路&#xff1a;这里考察的是后序遍历&#xff0c;对后序遍历每一个节点来说&#xff0c;当前点可以视作为终点&#xff0c;向上透传的时候要注意分几类情况&#xff0c;左右孩子最多只能选一个&#xff0c;或者自己也不选。 52.展平二叉搜索树 思路&am…

矩阵中的路径-剑指Offer-java深度优先

一、题目描述给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那些水平相…

【蓝桥OJ】门牌制作、七段码、成绩统计、分数

文章目录门牌制作七段码成绩统计分数总结门牌制作 小蓝要为一条街的住户制作门牌号。这条街一共有 2020位住户&#xff0c;门牌号从 1 到 2020 编号。小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符&#xff0c;最后根据需要将字符粘贴到门牌上&#xff0c;例如门牌 1017 …

【蓝桥杯集训·每日一题】AcWing 3502. 不同路径数

文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴一、题目 1、原题链接 3502. 不同路径数 2、题目描述 给定一个 nm 的二维矩阵&#xff0c;其中的每个元素都是一个 [1,9] 之间的正整数。 从矩阵中的任意位置出发&#xf…

[算法和数据结构]--回溯算法之DFS初识

回溯算法——DFSDFS介绍(Depth First Search)DFS经典题目1. 员工的重要性2. 图像渲染3.被围绕的区域4.岛屿数量5. 电话号码的字母组合6.数字组合7. 活字印刷8. N皇后DFS介绍(Depth First Search) 回溯法&#xff08;back tracking&#xff09;&#xff08;探索与回溯法&#x…

golang实现关键路径算法

关键路径算法&#xff08;Critical Path Method&#xff0c;简称CPM&#xff09;是一种用于项目管理的技术&#xff0c;主要用于计算项目中的关键路径和关键活动。关键路径是指项目中的最长路径&#xff0c;决定了项目的最短完成时间。关键活动是指在关键路径上的活动&#xff…

Java之深度优先(DFS)和广度优先(BFS)及相关题目

目录 一.深度优先遍历和广度优先遍历 1.深度优先遍历 2.广度优先遍历 二.图像渲染 1.题目描述 2.问题分析 3代码实现 1.广度优先遍历 2.深度优先遍历 三.岛屿的最大面积 1.题目描述 2.问题分析 3代码实现 1.广度优先遍历 2.深度优先遍历 四.岛屿的周长 1.题目描…

【DFS】模板及其应用

&#x1f386;音乐分享&#xff08;点击链接可以听哦&#xff09; 夏天的风_蓝心羽 目录 ⭐什么是dfs ✨排列型枚举&#xff08;全排列&#xff09; ✨排列型枚举&#xff08;全排列变形&#xff09; ✨组合型枚举 ✨指数型枚举 ✨dfs的应用 ⭐什么是dfs 就是深度优…

迷宫/经典DFS/不同走向表示方法/DFS与BFS的不同

首先这里补充一个知识&#xff0c;怎么把文本文档转换为二位列表&#xff1a;首先将文档读取,fileopen(xxx.txt,r)接着将txt格式转换为字符串filefile.readlines()得到的效果如图&#xff1a;去掉字符串最后的换行标志file[i].replace(\n,)然后换成多为列表即可题解&#xff1a…

【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(4)

目录 写在前面&#xff1a; 题目&#xff1a;P1149 [NOIP2008 提高组] 火柴棒等式 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 解题思路&#xff1a; …

数位DP问题

来源0x3f&#xff1a;https://space.bilibili.com/206214 视频讲解&#xff1a;https://www.bilibili.com/video/BV1rS4y1s721 引用&#xff1a;【洛谷日报#84】数字组成的奥妙——数位dp&#xff1a;https://zhuanlan.zhihu.com/p/50791875 文章目录数位DP&#xff08;本质就是…

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

目录 DFS&#xff08;深度优先搜索&#xff09; 全排列的DFS解法 利用DFS递归构建二进制串和递归树的结构剖析 DFS--剪枝 DFS例题--整数划分 BFS(宽度优先搜索) 全排列的BFS解法 DFS&#xff08;深度优先搜索&#xff09; 深度优先搜索&#xff08;Depth First Search&…

bfs,dfs

四个方向 : int dx[4] {0, 0, 1, -1}, dy[4] {1, -1, 0, 0}; 八个方向&#xff1a;int dx[] {0, 0, 1, -1, 1, 1, -1, -1}, dy[] {1, -1, 0, 0, 1, -1, 1, -1}; 三维&#xff1a;int dx[] {1, -1, 0, 0, 0, 0}, dy[] {0, 0, -1, 1, 0, 0}, dz[] {0, 0, 0, 0, 1, -1}; …

DFS+记忆化剪枝--[NOIP2017 普及组] 棋盘

[NOIP2017 普及组] 棋盘 题目背景 NOIP2017 普及组 T3 题目描述 有一个mmm \times mmm的棋盘&#xff0c;棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在要从棋盘的最左上角走到棋盘的最右下角。 任何一个时刻&#xff0c;你所站在的位置必须是有颜色的&#…

专题训练(9) 1001 求全排列(1)

目录 专题训练(9) 1001 求全排列(1) 程序设计 程序分析 专题训练(9) 1001 求全排列(1) 【问题描述】 输入一个正整数n, 请按照字典序输出1-n的全排列。 【输入形式】 输入包含多组测试用例。 每组数据占一行,包含一

全排列1_dfs

目录 全排列1_dfs 程序设计 程序分析 全排列1_dfs 【问题描述】任意输入n个不重复的整数序列,输出序列的全排列。 【输入形式】测试数据有多组,第一行是整数t(0<t<20),代表测试组数。每组测试数据有两行,第一行是整数的个数n(0<n<6),第二行是n个不重复的…

自然数的拆分问题CF [3*]

目录 自然数的拆分问题CF [3*] 程序设计 程序分析 自然数的拆分问题CF [3*] 对于大于1的自然数N,可以拆分成若干个大于等于1的自然数之和。 Input 一个大于1的自然数N 1 Output 所有的拆分情况.按由大到小的顺序排列。 Sample Input 6 Sample Out

环检测及拓扑排序算法

文章目录环检测及拓扑排序算法一、环检测算法&#xff08;DFS版本&#xff09;[207. 课程表](https://leetcode.cn/problems/course-schedule/)二、拓扑排序算法&#xff08;DFS 版本&#xff09;[210. 课程表 II](https://leetcode.cn/problems/course-schedule-ii/)什么是拓扑…

BFS广度优先搜索之算法框架

BFS 和 DFS 的区别 BFS&#xff1a;用来搜索 最短路径 比较合适&#xff0c;如&#xff1a;求二叉树最小深度、最少步数、最少交换次数&#xff0c;一般与 队列 搭配使用&#xff0c;空间复杂度比 DFS 大很多DFS&#xff1a;适合搜索全部的解&#xff0c;如&#xff1a;寻找最…

C/C++每日一练(20230410) 二叉树专场(4)

目录 1. 二叉搜索树迭代器 &#x1f31f;&#x1f31f;&#x1f31f; 2. 验证二叉搜索树 &#x1f31f;&#x1f31f;&#x1f31f; 3. 不同的二叉搜索树 II &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专…

Leetcode.463 岛屿的周长

题目链接 Leetcode.463 岛屿的周长 easy 题目描述 给定一个 row x col的二维网格地图 grid&#xff0c;其中&#xff1a;grid[i][j] 1表示陆地&#xff0c; grid[i][j] 0表示水域。 网格中的格子 水平和垂直 方向相连&#xff08;对角线方向不相连&#xff09;。整个网格被…

每日刷题记录(十四)

目录第一题&#xff1a;子集解题思路&#xff1a;代码实现&#xff1a;第二题&#xff1a;组合解题思路&#xff1a;代码实现&#xff1a;第三题&#xff1a;全排列解题思路&#xff1a;代码实现&#xff1a;第四题&#xff1a;全排列II解题思路&#xff1a;代码实现&#xff1…

HDU - 4734 -- F(x)

题目如下&#xff1a; For a decimal number x with n digits (AnAn−1An−2...A2A1)(A_nA_{n-1}A_{n-2} ... A_2A_1)(An​An−1​An−2​...A2​A1​), we define its weight as F(x)An∗2n−1An−1∗2n−2...A2∗2A1∗1.F(x) A_n * 2^{n-1} A_{n-1} * 2^{n-2} ... A_2 *…

每日刷题记录(十五)

目录第一题&#xff1a;数组中的第K个最大元素解题思路&#xff1a;代码实现&#xff1a;第二题&#xff1a;组合总和 III解题思路&#xff1a;代码实现&#xff1a;第三题&#xff1a;跳跃游戏II解题思路&#xff1a;代码实现&#xff1a;第四题&#xff1a;寻找重复数解题思路…

( “树” 之 DFS) 617. 合并二叉树 ——【Leetcode每日一题】

617. 合并二叉树 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;。你需要将这两棵树合并成一棵新二叉树。合并的规则是&#xff1a;如果两…

NC237662 葫芦的考验之定位子串(SAM + 后缀链接树上倍增)

题意&#xff1a; 给出一个字符串S&#xff0c;|S| ≤ 250000&#xff0c;给出 Q < 250000 次询问&#xff0c;每次需要回答 S[l, r] 在 S 中共出现了多少次。 思路&#xff1a; 如果使用 SAM&#xff0c;我们提前求出每个状态的 cnt[u]&#xff0c;询问就是要求我们快速…

旅行商问题(TSP)

旅行商问题(TSP) 旅行商问题,常被称为 旅行推销员问题(Travelling salesman problem, TSP),是指一名推销员要拜访多个地点时,如何找到在拜访每个地点一次后再回到起点的最短路径。 TSP 问题在物流中的描述是对应一个物流配送公司,欲将 n 个客户的订货沿最短路线全部送…

go语言切片做函数参数传递+append()函数扩容

go语言切片函数参数传递append()函数扩容 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 二叉树递归go代码&#xff1a; var ans [][]int func pathSum(root *TreeNode, targetSum int) ( [][…

天梯赛练习(L2-001 ~ L2-006)

L2-001 紧急救援 作为一个城市的应急救援队伍的负责人&#xff0c;你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候&#xff0c;你…

LeetCode 1026. 节点与其祖先之间的最大差值

【LetMeFly】1026.节点与其祖先之间的最大差值 力扣题目链接&#xff1a;https://leetcode.cn/problems/maximum-difference-between-node-and-ancestor/ 给定二叉树的根节点 root&#xff0c;找出存在于 不同 节点 A 和 B 之间的最大值 V&#xff0c;其中 V |A.val - B.val…

每天一道算法练习题--Day14 第一章 --算法专题 --- -----------大话搜索

大话搜索 搜索一般指在有限的状态空间中进行枚举&#xff0c;通过穷尽所有的可能来找到符合条件的解或者解的个数。根据搜索方式的不同&#xff0c;搜索算法可以分为 DFS&#xff0c;BFS&#xff0c;A*算法等。这里只介绍 DFS 和 BFS&#xff0c;以及发生在 DFS 上一种技巧-回…

【每日一题Day193】LC1376通知所有员工所需的时间 | dfs

通知所有员工所需的时间【LC1376】 公司里有 n 名员工&#xff0c;每个员工的 ID 都是独一无二的&#xff0c;编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。 在 manager 数组中&#xff0c;每个员工都有一个直属负责人&#xff0c;其中 manager[i] 是第 i 名员工的…

算法套路十四——动态规划之背包问题:01背包、完全背包及各种变形

算法套路十四——动态规划之背包问题&#xff1a;01背包、完全背包及各种变形 算法示例一——0/1背包&#xff1a; 0-1背包:有n个物品&#xff0c;第i个物品的体积为w[i]&#xff0c;价值为v[i]&#xff0c;每个物品至多选一个&#xff0c; 求体积和不超过capacity时的最大价值…

DFS与BFS超时的补救方法

题目&#xff1a;https://leetcode.cn/problems/word-break/description/?favorite2cktkvj 139. 单词拆分 中等 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意&#xff1a;不要求字典中出现的单词全部都使…

LeetCode 1373. 二叉搜索子树的最大键值和

【LetMeFly】1373.二叉搜索子树的最大键值和 力扣题目链接&#xff1a;https://leetcode.cn/problems/maximum-sum-bst-in-binary-tree/ 给你一棵以 root 为根的 二叉树 &#xff0c;请你返回 任意 二叉搜索子树的最大键值和。 二叉搜索树的定义如下&#xff1a; 任意节点的…

【每日一题Day212】LC1373二叉搜索子树的最大键值和 | dfs+树形dp

二叉搜索子树的最大键值和【LC1373】 给你一棵以 root 为根的 二叉树 &#xff0c;请你返回 任意 二叉搜索子树的最大键值和。 二叉搜索树的定义如下&#xff1a; 任意节点的左子树中的键值都 小于 此节点的键值。任意节点的右子树中的键值都 大于 此节点的键值。任意节点的左子…

LeetCode-210-课程表 II

1、DFS 我们可以将课程之间的关系理解成一个图&#xff0c;我们需要遍历整张图&#xff0c;判断能否找到一个遍历了整张图的路径。值得注意的是&#xff0c;我们还需要判断当前图中是否有可能出现环&#xff0c;若出现环则肯定无法遍历。 我们首先根据输入的数组prerequisite…

104. 二叉树的最大深度

总结 求解二叉树的最大深度&#xff1a; 深度优先搜索广度优先搜索 给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例1&#xff1a; 给定二叉树 [3,9,20,null,null,15,7]…

【蓝桥杯】 C++ 七段码 DFS 并查集⭐⭐⭐

文章目录题目描述实现代码解题思路注意点知识点参考文章题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小蓝要用七段码数码管来表示一种特殊的文字。 上图给出了七段码数码管的一个图示&#xff0c;数码管中一共…

c++ 递归问题总结-N皇后问题-骑士问题-二维素数环问题

摘要 总结递归问题框架的使用&#xff0c;通过三个题来掌握递归的构造和解决问题的思路。 递归使用核心框架总结&#xff1a; Dfs&#xff08;&#xff09; 传递参数 一般问题规模n&#xff0c;和根据问题进行变动的(x,y)或者当前值yIf&#xff08;&#xff09;满足任务终止时…

【Java|golang】1080. 根到叶路径上的不足节点--dfs

给你二叉树的根节点 root 和一个整数 limit &#xff0c;请你同时删除树中所有 不足节点 &#xff0c;并返回最终二叉树的根节点。 假如通过节点 node 的每种可能的 “根-叶” 路径上值的总和全都小于给定的 limit&#xff0c;则该节点被称之为 不足节点 &#xff0c;需要被删…

算法---找树左下角的值

题目 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 提示: 二叉树的节点个数的范围是 [1,104] -231 …

深搜的剪枝技巧

A.数的划分 思路&#xff1a;这道题呢本质上是一个动态规划&#xff0c;转移方程也很简单: dp[i][j]dp[i][j-1]dp[i-j][j]; 这里举个例子瞬间理解&#xff1a; 例&#xff1a;dp[3][3]将三分成三部分1&#xff0c;1&#xff0c;1。dp[6][3]为将 六分成三部分&#xff0c;根…

蓝桥杯每日一真题——[蓝桥杯 2018 省 AB] 全球变暖

文章目录[蓝桥杯 2018 省 AB] 全球变暖题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路&#xff1a;全部代码&#xff1a;[蓝桥杯 2018 省 AB] 全球变暖 题目描述 你有一张某海域 NNN \times NNN 像素的照片&#xff0c;. 表示海洋、 # 表示陆地&#xff0c;…

手撕code(3)

文章目录 迷宫最短路径和输出深度优先广度优先 48 旋转矩阵图像大数加减法146 LRU 缓存算法460 LFU 缓存算法 迷宫最短路径和输出 给定一个 n m 的二维整数数组&#xff0c;用来表示一个迷宫&#xff0c;数组中只包含 0 或 1 &#xff0c;其中 0 表示可以走的路&#xff0c;1…

【LeetCode】《LeetCode 101》第六章:搜索

文章目录6.1 算法解释6.2 深度优先搜索695. 岛屿的最大面积&#xff08;中等&#xff09;方法一&#xff1a;栈方法二&#xff1a;递归的第一种写法方法三&#xff1a;递归的第二种写法547. 省份数量&#xff08;中等&#xff09;417. 太平洋大西洋水流问题&#xff08;中等&am…

acwing提高--DFS之剪枝与优化

剪枝与优化的方法 1.优化搜索顺序 大部分情况下&#xff0c;我们应该优先搜索分支较少的节点 2.排除等效冗余 3.可行性剪枝 4.最优性剪枝 5.记忆化搜索&#xff08;DP&#xff09; 1.小猫爬山 题目https://www.acwing.com/problem/content/description/167/ 1.优化搜索顺…

第18期:图论基础

1.用DFS求连通块 1.1 UVA572 油田 Oil Deposits #include<bits/stdc.h> using namespace std; const int maxn1005;char pic[maxn][maxn]; int m,n,idx[maxn][maxn];void dfs(int r,int c,int id){if(r<0 || r>m || c<0 || c>n) return;//“出界”的格子if…

二叉树的递归如何写

大家好&#xff0c;我是三叔&#xff0c;很高兴这期又和大家见面了&#xff0c;一个奋斗在互联网的打工人。 笔者在一文读懂二叉树中有介绍到二叉树的深度优先搜索中讲到&#xff1a;前序遍历、中序遍历、后续遍历&#xff0c;今天我就用代码的形式给大家展示出来。 首先大家…

LeetCode 1254. Number of Closed Islands【DFS,BFS,并查集】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

P3916 图的遍历

图的遍历 - 洛谷 /** Description: To iterate is human, to recurse divine.* Autor: Recursion* Date: 2022-03-18 10:04:24* LastEditTime: 2022-03-18 10:46:57*/ #include<bits/stdc.h> using namespace std; int n,m; vector<int> v[100001]; int maxx[1000…

自然数的拆分问题

题目描述 任何一个大于 11 的自然数 n&#xff0c;总可以拆分成若干个小于 n 的自然数之和。现在给你一个自n&#xff0c;要求你求出 n 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列&#xff0c;其中字典序小的序列需要优先输出。 输…

【算法题解】41. 二叉树的中序遍历

这是一道 简单 题 https://leetcode.cn/problems/binary-tree-inorder-traversal/ 题目 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 示例 2&#xff1a; 输入&#…

2023-8-28 树的重心(树与图的深度优先遍历)

题目链接&#xff1a;树的重心 #include <cstring> #include <iostream> #include <algorithm>using namespace std;const int N 100010, M N * 2;int n; int h[N], e[M], ne[M], idx; int ans N; bool st[N];void add(int a, int b) {e[idx] b, ne[id…

P1157 组合的输出

题目描述 排列与组合是常用的数学方法&#xff0c;其中组合就是从n个元素中抽出r个元素(不分顺序)&#xff0c;我们可以简单地将nn个元素理解为自然数1,2,…,n&#xff0c;从中任取r个数。 现要求你输出所有组合。 输入格式 一行两个自然数n,r(1<n<21),(0≤r≤n)。 输…

LeetCode 547.省份数量

LeetCode 547.省份数量 有 n 个城市&#xff0c;其中一些彼此相连&#xff0c;另一些没有相连。如果城市 a 与城市 b 直接相连&#xff0c;且城市 b 与城市 c 直接相连&#xff0c;那么城市 a 与城市 c 间接相连。 省份 是一组直接或间接相连的城市&#xff0c;组内不含其他没…

1月14日总结--搜索

题目描述 有一个 n \times mnm 的棋盘&#xff0c;在某个点 上有一个马&#xff0c;要求你计算出马到达棋盘上任意一个点最少要走几步。 输入格式 输入只有一行四个整数&#xff0c;分别为 n, m, x, y。 输出格式 一个 nm 的矩阵&#xff0c;代表马到达某个点最少要走几步…

LCP 44. 开幕式焰火

题目链接 LCP 44. 开幕式焰火 easy 题目描述 「力扣挑战赛」开幕式开始了&#xff0c;空中绽放了一颗二叉树形的巨型焰火。 给定一棵二叉树 root代表焰火&#xff0c;节点值表示巨型焰火这一位置的颜色种类。 请帮小扣计算巨型焰火有多少种不同的颜色。 示例 1&#xff1a;…

DFSBFS总结

DFS&#xff08;深度优先搜索&#xff09;算法适用于解决以下问题&#xff1a; 图遍历&#xff1a;DFS可以用来遍历图&#xff0c;找到所有节点或者遍历到目标节点&#xff1b; 连通性问题&#xff1a;DFS可以用来判断两个节点之间是否存在路径&#xff0c;比如在迷宫中找出一…

第十四届 蓝桥杯java组备赛考纲解读 技巧 查找 深搜宽搜 DFS 动态规划 数论 暴力枚举

CSDN客服说是广告我就删减了一部分 大佬经验第一次参赛获Java B组国二&#xff0c;给蓝桥杯Beginners的6700字保姆级经验分享Java常用API4. 集合API、集合遍历、排序&#xff08;建议掌握&#xff09;7. 数学知识&#xff08;建议掌握&#xff09;三、蓝桥杯官方常考点总结 官方…

蓝桥杯 红绿灯 DFS 暴搜

⭐ 题目地址 输入 90 2 2 2 30 20 20 60 20 20输出 80⭐ 把起点和终点都当作路口&#xff0c;这样方便处理&#xff0c;每一个循环都是 当前红灯 路段&#xff08;当前灯~下一个灯&#xff09;的时间 &#x1f437; 来不及解释了&#xff0c;暴力出奇迹~~~ import java.…

leetcode 1254. Number of Closed Islands(岛的数量)

0代表陆地&#xff0c;1代表水&#xff0c;上下左右都被水包围的陆地才叫一个岛。 数组边界外面的不算。 问有多少个岛。 思路&#xff1a; 这种求连通区域的一般用DFS。 和leetcode.200题很像&#xff0c;区别是200题默认数组边界外面都是水&#xff0c;所以只要有陆地&…

利用邻接矩阵进行的深度优先和广度优先遍历(含全部代码+图解)

目录 --------------------------------------目录------------------------------------------ 图的定义和术语 图的邻接矩阵构建法 深度优先遍历算法&#xff08;DFS&#xff09; 广度优先遍历算法 &#xff08;BFS&#xff09; 全部代码 图的定义和术语 图&#xff1a;G …

路径寻找问题(状态空间搜索)

ACM学习笔记 DAY 18 路径寻找问题&#xff08;状态空间搜索&#xff09;和上一小节的回溯法有很大的不同&#xff1a;回溯法有明确的限制条件&#xff0c;只需找出满足条件下的一个解/所有解&#xff0c;也就是说这个相对明确的限制条件是回溯法得以“终止深究而回溯”的判定标…

LeetCode学习-第三十六天

第三十六天 我使用的C&#xff0c;错误的地方请见谅&#xff0c;文章初衷仅用来督促本人学习&#xff0c;如果恰巧能够给你带来帮助&#xff0c;我会十分开心。 文章目录第三十六天一、1254. 统计封闭岛屿的数目二、1020. 飞地的数量三、1905. 统计子岛屿一、1254. 统计封闭岛…

LeetCode学习-第二十九天

第二十九天 我使用的C&#xff0c;错误的地方请见谅&#xff0c;文章初衷仅用来督促本人学习&#xff0c;如果恰巧能够给你带来帮助&#xff0c;我会十分开心。 文章目录第二十九天一、39. 组合总和二、40. 组合总和 II三、17. 电话号码的字母组合一、39. 组合总和 给你一个 …

LeetCode学习-第十八天

第十八天 我使用的C&#xff0c;错误的地方请见谅&#xff0c;文章初衷仅用来督促本人学习&#xff0c;如果恰巧能够给你带来帮助&#xff0c;我会十分开心。 文章目录第十八天一、77. 组合二、46. 全排列三、784. 字母大小写全排列一、77. 组合 给定两个整数 n 和 k&#xf…

LeetCode学习-第八天

文章目录一、98. 验证二叉搜索树二、653. 两数之和 IV - 输入 BST三、235. 二叉搜索树的最近公共祖先四、5960. 将标题首字母大写一、98. 验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; …

无向图G的广度优先搜索和深度优先搜索以及完整程序

图的遍历算法有两种&#xff1a;广度优先搜索和深度优先搜索 一.广度优先搜索类似于层次遍历&#xff0c;需要借助辅助队列 空间复杂度为O(|V|);空间复杂度由辅助队列大小决定 时间复杂度为O(|V||E|) 为避免同一顶点被多次访问&#xff0c;设计visited[]来标记顶点 二.深度…

二叉树三种遍历方式:包括递归和非递归

前序遍历递归&#xff1a; struct TreeNode {int val;TreeNode* left;TreeNode* right;TreeNode(int x):val(x),left(NULL),right(NULL){} };class Solution { public:vector<int> PreOrder(TreeNode* root) {vector<int> res;Order(root, res);return res;}void …

点的距离(LCA)

试题描述 给定一棵有n个结点的树&#xff0c;Q 个询问&#xff0c;每次询问点x到点y两点之间的距离。 输入 第一行一个n&#xff0c;表示这棵树有n个结点。接下来n−1行&#xff0c;每行两个整数x,y表示x,y之间有一条连边。然后一个整数Q&#xff0c;表示有Q个询问&#xff0c;…

C++数据结构——层次遍历

层次遍历 给定二叉树的包含虚结点的先序遍历序列信息&#xff0c;按层次顺序给出遍历的结果。 输入格式: 首先输入一个整数T&#xff0c;表示测试数据的组数&#xff0c;然后是T组测试数据。每组测试数据在一行中输入一个字符串&#xff08;不含空格且长度不超过80&#xff09;…

2020年天梯赛真题——L2-3 完全二叉树的层序遍历

一个二叉树&#xff0c;如果每一个层的结点数都达到最大值&#xff0c;则这个二叉树就是完美二叉树。对于深度为 D 的&#xff0c;有 N 个结点的二叉树&#xff0c;若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点&#xff0c;这样的树就是完全二叉树。 给定一棵完全…

1209. 带分数(dfs + 剪支)

1209. 带分数 题目链接 100 可以表示为带分数的形式&#xff1a;100369258 / 714 还可以表示为&#xff1a;100823546 / 197 注意特征&#xff1a;带分数中&#xff0c;数字 1∼9 分别出现且只出现一次&#xff08;不包含 0&#xff09;。 类似这样的带分数&#xff0c;100 有…

洛谷P2404 自然数的拆分问题

弱鸡上路&#xff0c;刷搜索题的第一天。 传送门&#xff1a;https://www.luogu.com.cn/problem/P2404 这是一道比较简单的搜索题&#xff08;但我还是不会做qwq&#xff09;题目没有什么要分析的&#xff0c;但是最好把题目的例子看完再自己举个例子算一算&#xff0c;完了之…

算法设计 寻宝问题

算法设计 寻宝问题 1. 问题描述 对于某个m*n的字符串数组&#xff0c;相当于一个m行n列的平面形状的方格。里面S表示起点&#xff0c;W表示障碍&#xff0c;B表示可走&#xff08;但是不一定可以通&#xff09;&#xff0c;X表示出口。对于起点S&#xff0c;有8个方向可以走&a…

【学习笔记】NOI 模拟赛 t2 momo

点这里看题目 我考场上做这道题的时候真的可以说是脑子里一片浆糊。看来还是太菜了。 能把这题搞懂&#xff08;&#xff1f;&#xff09;还是归功于学长的博客。 先考虑树的情形。但是我是真没想到能推广到图上。不过还是应该相信出题人吧&#xff0c;毕竟有树的部分分。 不…

CF1632E1. Distance Tree (easy version)

Link 2400 题意 给你一棵树&#xff0c;每条边权为1&#xff0c;f(x)表示点x到1的路径上权重和。 你可以增加一条边权为k的边连接&#xff0c;使得f(x)最大值最小。问你k在[1,n]时最大f(x)最小是多少。 n≤3000n \leq 3000n≤3000 思路 O(n2log⁡n)O(n^2\log n)O(n2logn)&am…

GCD Table —— exgcd,数论 *

problem 学习了大佬的方法 // Decline is inevitable, // Romance will last forever. #include <bits/stdc.h> using namespace std; //#define mp make_pair #define pii pair<int,int> #define pb push_back #define ll long long #define LL long long #defi…

图论学习加餐部分

加餐部分 – 潘登同学的图论笔记 文章目录加餐部分 -- 潘登同学的图论笔记加餐第一题&#xff1a; 骑士周游问题DFS实现加餐第二题&#xff1a; 词梯问题BFS实现加餐第三题&#xff1a; 强连通分支&#xff08;kosaraju算法&#xff09;加餐第四题&#xff1a; 图的最短路径算法…

Power Tower ——幂塔函数,欧拉降幂

Power Tower 欧拉降幂&#xff0c;递归&#xff0c; 思路参照这位大佬link。 关键在于 ab≡abmodφ(m)φ(m)(modm)a^b \equiv a^{b\space mod\space \varphi(m) \varphi(m)}\space (mod\space m) ab≡ab mod φ(m)φ(m) (mod m) 中φ(m)\varphi(m)φ(m)和bbb大小不确定&#x…

统计文件夹下所有文件数量--深度优先遍历(java)

统计文件夹下所有文件数量 统计文件夹下所有文件数量解题思路代码演示 往期经典算法 统计文件夹下所有文件数量 给定一个文件目录的路径&#xff0c;写一个函数统计这个目录下所有的文件数量并返回&#xff0c;隐藏文件也算&#xff0c;但是文件夹不算 解题思路 深度优先遍历,如…

leetCodeP695

再一次认识dfs 做这个题目我经历了&#xff0c;数组越界&#xff0c;xy轴搞反&#xff0c;以及最后计数面积。 不过这都最后一一解决啦。先上代码&#xff1a; int hen[4]{0,0,1,-1}; int shu[4]{1,-1,0,0}; int n,m; int dfs(int x,int y,int** grid ) {if(x<0||y<0|…

3050:Hopscotch(深搜)

(1条消息) POJ 3050 Hopscotch&#xff08;深搜&#xff09;_3050hopscotch_皮皮皮皮皮皮皮卡乒的博客-CSDN博客 #include <iostream> #include<cstring> #include<set> using namespace std; int a[5][5]; int i; set<int> s; int dis[4][2]{0,1,0,-1…

【DFS】 1020. 飞地的数量

1020. 飞地的数量 解题思路 将靠边的陆地全部使用海水淹没 然后计算封闭的陆地面积使用Dfs将边界的陆地进行淹没&#xff0c;不能简单的置为1&#xff0c;因为边界的陆地和内部的陆地相连通&#xff0c;这种情况也需淹没最后统计剩下的陆地 class Solution {public int numE…

第10期:搜索

夜深人静写算法&#xff08;一&#xff09;-搜索入门 1 DFS 1.1 求阶乘&#xff1a; #include<bits/stdc.h> using namespace std; int dfs(int n){return !n ? 1 : n * dfs(n-1); } int main(){int n;cin>>n;cout<<dfs(n)<<endl;return 0; } /*…

【代码随想录】刷题Day37

1.单调递增的数字 738. 单调递增的数字 解释一下题目&#xff1a;其实就是将小于输入的数n&#xff0c;并且该数从左到右非递减的最大符合这两条件的数返回。 贪心的思路&#xff1a;如果给出的n就是非递减的&#xff0c;那么最大的就是它本身。如果给的n不是非递减的&#xf…

python 背包问题:0-1背包,多重背包,数据结构,超详细模板套用和解读;数组组合问题

一、0-1背包问题&#xff1a; 题目&#xff1a;有n个物品&#xff0c;第i个体积为w[i]&#xff0c;价值为v[i]&#xff0c;每个物品最多选一个&#xff0c;求体积和不超过capacity时能装物品的最大价值 转移方程&#xff1a; dfs(i,c) max(dfs(i-1,c),dfs(i-1,c-w[i])v[i])…

Leetcode 刷题必须Review 二十五 Lintcode(56 1796 1457 1035 856 1854)

文章目录56 两数之和1796 差为K的数对数量1457 查找子数组1035 森林中的兔子856 句子相似性1854 数组划分III56 两数之和 给一个整数数组&#xff0c;找到两个数使得他们的和等于一个给定的数 target。 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标…

剑指offer 刷题 十八 搜索与回溯(55-I 55-II)

剑指 Offer 55 - I. 二叉树的深度 输入一棵二叉树的根节点&#xff0c;求该树的深度。从根节点到叶节点依次经过的节点&#xff08;含根、叶节点&#xff09;形成树的一条路径&#xff0c;最长路径的长度为树的深度。 自己写的DFS&#xff1a; def maxDepth(self, root: Tree…

剑指offer 刷题 十五 搜索与回溯(34 36 54)

剑指 Offer 34. 二叉树中和为某一值的路径 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 尝试写&#xff0c;没写出来的DFS&#xff1a; def pathSum(self…

剑指offer 刷题 十四 搜索与回溯 (12 13)

剑指 Offer 12. 矩阵中的路径 这题想了半天&#xff0c;想用hash做&#xff0c;尝试写了一下&#xff0c;写没写出来。下面是大佬的代码和思路&#xff0c;真的想不到我。用到了DFS&#xff0c;我DFS本来也不会。。。。 大佬代码DFS&#xff1a; class Solution:def exis…

剑指offer 刷题 七 搜索与回溯(26 27 28)

剑指 Offer 26. 树的子结构 输入两棵二叉树A和B&#xff0c;判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构&#xff0c; 即 A中有出现和B相同的结构和节点值。 递归&#xff1a; def isSubStructure(self, A: TreeNode, B: TreeNode) -> bool:def…

数据结构--图的理解:深度优先和广度优先遍历及其 Java 实现

转载&#xff1a;http://segmentfault.com/a/1190000002685939 遍历 图的遍历&#xff0c;所谓遍历&#xff0c;即是对结点的访问。一个图有那么多个结点&#xff0c;如何遍历这些结点&#xff0c;需要特定策略&#xff0c;一般有两种访问策略&#xff1a; 深度优先遍历广度优…

单词搜索I II/前缀树

79单词搜索 思路&#xff1a; 注意&#xff1a; 我自己在写 for i in range(m):for j in range(n):# 对每一个格子都从头开始搜索if self.__search_word(board, word, 0, i, j, marked, m, n):return True这一段的时候&#xff0c;就写成了&#xff1a; 这一段代码是…

leetcode每日一道(16)复制一个无向图,每个节点都包含一个标签和它的邻居列表

题目描述 本题要求复制一个无向图&#xff0c;图中每个节点都包含一个标签和它的邻居列表 我们无向图用以下的方法序列化&#xff1a; 节点的标签是互不相同的&#xff0c; 我们使用“#”作为节点之间的分隔符&#xff0c;使用“,”作为节点标签和节点的节点邻居的分隔符。 例如…

lintcode 1386 · 坐缆车【simple DFS VIP】

题目 https://www.lintcode.com/problem/1386 小九来到某地坐缆车&#xff0c;他的钱只能坐一次缆车&#xff0c;所以他想尽量延长坐缆车的时间。已知缆车站分布可以看作是一个n x m的矩阵&#xff0c;每个格点代表缆车站的高度。他可以从任一站点开始坐缆车&#xff0c;缆车…

7.2 POJ深搜广搜刷题记录(未完)

1321:棋盘问题 #include<cstring> #include<iostream> using namespace std; int a[10],n,k,first; int sum; char map[10][10]; //行由x控制&#xff0c;列由for循环里面的j控制 void dfs(int x,int step){int j;if(step0){ //满足临界条件&#xff0c;即已经遍…

递归:探索问题的无限深度

引言&#xff1a; 在计算机科学中&#xff0c;有一种强大的概念叫做递归。它可以帮助我们解决各种复杂的问题&#xff0c;使代码更加简洁而优雅。递归是一种函数调用自身的技术&#xff0c;通过将问题分解成较小的子问题&#xff0c;以及逐步将其解决&#xff0c;从而达到解决整…

回溯算法-组合

原题 https://leetcode.cn/problems/combinations/ 思路 回溯算法实际上就是深度优先算法的一种。也就是说&#xff0c;当我们在使用一个深度优先算法&#xff08;一般用递归&#xff09;的时候&#xff0c;有时候操作完一个步骤需要回退到上一步&#xff0c;这就叫回溯。 …

Betsy的旅行详解(c++)

#include<stdio.h> #include<iostream> using namespace std; int map[10][10],bj[10][10];//map数组记录此位置周围可走格子数&#xff0c;bj为标记数组 int n, ans0; struct fx {int nx;int ny; }around[] { {0,-1}, {0,1}, {-1,0}, {1,0} }; bool in(int x, in…

dfs算法详解(n皇问题实现)

dfs又称为深度优先搜索算法 我们采用先了解dfs的基本思路 然后根据n皇后一题 进行dfs算法讲解 大家如果是来看n皇后问题的实现 可以直接看到后面的代码 ————————————我是分割线 首先博主先大概讲解一下dfs的思路 dfs涉及到了递归与回溯 博主在下面会详细的…

【LeetCode算法系列题解】第46~50题

CONTENTS LeetCode 46. 全排列&#xff08;中等&#xff09;LeetCode 47. 全排列 II&#xff08;中等&#xff09;LeetCode 48. 旋转图像&#xff08;中等&#xff09;LeetCode 49. 字母异位词分组&#xff08;中等&#xff09;LeetCode 50. Pow(x, n)&#xff08;中等&#xf…

【思特奇杯.云上蓝桥-算法训练营】第2周

1.带分数 100 可以表示为带分数的形式&#xff1a;100 3 69258 / 714 还可以表示为&#xff1a;100 82 3546 / 197 注意特征&#xff1a;带分数中&#xff0c;数字1~9分别出现且只出现一次&#xff08;不包含0&#xff09;。 类似这样的带分数&#xff0c;100 有 11 种表示…

Dijkstra算法详细(单源最短路径算法)

我们大部分人可能比较了解BFS 和 DFS,对于Dijkstra算法他是图算法结构中解决单源最短路径问题的算法。 大概就是这样一个有权图&#xff0c;Dijkstra算法可以计算任意节点到其他节点的最短路径。&#xff08;单源最短路径问题&#xff09;,Dijkstra算法只能求一个顶点到其他点…

AcWing 129. 火车进栈 dfs+stack+vector

原题链接&#xff1a;AcWing 129. 火车进栈 参考题解&#xff1a;AcWing 129. 火车进栈-yxc版本 #include <bits/stdc.h> using namespace std; #define ll long longint n; vector<int> state1; stack<int> state2; int state31; int cnt20;void dfs() {i…

CSP 201909-5 城市规划 暴力前20分

原题链接&#xff1a;CSP 201909-5 城市规划 暴力前20分 #include <bits/stdc.h> using namespace std; #define ll long long const int INF1e8; int big[2020];struct node {int v;int w;node(int _v,int _w){v_v;w_w;} };vector<node> g[2010]; int vis[2010];…

代码随想录额外题目——图论部分

记录一下代码随想录中额外题目的图论部分 841.钥匙和房间 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而&#xff0c;你不能在没有获得钥匙的时候进入锁住的房间。 当你进入一个…

(2022.1.25)训练:2021icpc沈阳站

&#xff08;2022.1.25&#xff09;训练&#xff1a;icpc沈阳站总体题目B代码题目E代码题目F代码题目J代码题目M代码总体 这一次的训练赛整体上来说比起上一次的训练要好上很多&#xff0c;可能是因为上一周的训练让状态多少找回来一点&#xff0c;不过进步的空间还是很大。以…

工作分配问题(dfs)

题目 背景描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为Cij。试设计一个算法&#xff0c;为每一个人都分配一件不同的工作&#xff0c;并使总费用达到最小。 设计一个算法&#xff0c;对于给定的工作费用&#xff0c;计算最佳工作分配方案&#xff0c;使总…

子集和问题(dfs)

题目 子集和问题的一个实例为<S,c>。其中&#xff0c;S{x1,x2,…,xn}是一个正整数的集合&#xff0c;c是一个正整数。子集和问题判定是否存在S的一个子集S1&#xff0c;使得子集S1和等于c。 对于给定的正整数的集合S{x1,x2,…,xn}和正整数c&#xff0c;编程计算S 的一个…

生日蛋糕 dfs 剪枝

&#x1f351; 算法题解专栏 &#x1f351; 生日蛋糕 7 7 7 月 17 17 17 日是 Mr.W 的生日&#xff0c;ACM-THU 为此要制作一个体积为 N π Nπ Nπ 的 M M M 层生日蛋糕&#xff0c;每层都是一个圆柱体。 设从下往上数第 i i i 层蛋糕是半径为 R _ i R\_i R_i&#xff0…

LeetCode学习-第二十八天

第二十八天 我使用的C&#xff0c;错误的地方请见谅&#xff0c;文章初衷仅用来督促本人学习&#xff0c;如果恰巧能够给你带来帮助&#xff0c;我会十分开心。 文章目录第二十八天一、90. 子集 II二、47. 全排列 II一、90. 子集 II 给你一个整数数组 nums &#xff0c;其中可…

Leetcode 301. 删除无效的括号(DFS + 剪枝)

Leetcode 301. 删除无效的括号&#xff08;DFS 剪枝&#xff09;题目 给你一个由若干括号和字母组成的字符串 s &#xff0c;删除最小数量的无效括号&#xff0c;使得输入的字符串有效。返回所有可能的结果。答案可以按 任意顺序 返回。1 < s.length < 25s 由小写英文字…

HNU数据结构与算法分析-作业4-图结构

1. (简答题) 【应用题】11.3 &#xff08;a&#xff09;画出所示图的相邻矩阵表示 &#xff08;b&#xff09;画出所示图的邻接表表示 &#xff08;c&#xff09;如果每一个指针需要4字节&#xff0c;每一项顶点的标号占用2字节&#xff0c;每一条边的权需要2字节&#xff0…

第十一章 其它题目

目录 一、DFS 与 BFS1.1 钥匙和房间1.2 所有可能的路径1.3 单词接龙 二、并查集2.1 冗余连接2.2 冗余连接 Ⅱ 三、模拟3.1 机器人能否返回原点3.2 下一个排列3.3 岛屿的周长 四、位运算五、哈希表5.1 同构字符串5.2 查找共用字符5.3 长按键入 六、二叉树6.1 求根节点到叶节点数…

【算法基础】拓扑排序及实战

一 、概览 这里涉及到图的概念&#xff0c;感兴趣的同学请移驾 –>图<– 下面还有两个相关概念&#xff0c;大概说一下&#xff1a; 1.1 有向无环图 定义&#xff1a;在图论中&#xff0c;如果一个有向图从任意顶点出发无法经过若干条边回到该点&#xff0c;则这个图是…

LeetCode 每日一题 2023/6/5-2023/6/11

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 6/5 2460. 对数组执行操作6/6 2352. 相等行列对6/7 2611. 老鼠和奶酪6/8 1240. 铺瓷砖6/9 2699. 修改图中的边权6/10 6/5 2460. 对数组执行操作 依次执行 def applyOperati…

第三章 搜索与图论(一)——深搜,广搜,图的存储与拓扑序列

文章目录 深度优先搜索广度优先搜索树和图的存储图的深搜 拓扑序深搜练习题842. 排列数字843. n-皇后问题 广搜练习题844. 走迷宫845. 八数码 树和图的存储与遍历练习题846. 树的重心847. 图中点的层次 拓扑序练习题848. 有向图的拓扑序列 深度优先搜索 数据结构&#xff1a; …

层数最深叶子节点的和 Deepest Leaves Sum

文章目录层数最深叶子节点的和 Deepest Leaves Sum思路Tag层数最深叶子节点的和 Deepest Leaves Sum 一棵二叉树的根节点root,返回层数最深的叶子节点的和。 in&#xff1a; root [1,2,3,4,5,null,6,7,null,null,null,null,8] out&#xff1a;15思路 对树的处理基本就是 DFS…

代码随想录二刷 216. 组合总和 III 17. 电话号码的字母组合39. 组合总和

216. 组合总和 III 代码如下 var( path []int res [][]int sum int ) func combinationSum3(k int, n int) [][]int { path make([]int,0) 收集路径上的每一个数 res make([][]int,0) 收集满足条件的结果 dfs(k,n,1) 调用函数 return res } f…

CF1120 D. Power Tree 巧妙的图论转化

传送门 [前题提要]:无 题目描述: 就是给你一棵树,然后每个点有花费,然后你可以选一个点,付费后对这个点的子树的所有叶子结点增减任意权值. 考虑有一个人会给这棵树的所有叶子结点赋值(值我们不知道),输出最小的花费,使得无论它如何赋值,我们使用上述的花 费都能使所有的叶子…

递归算法学习——N皇后问题,单词搜索

目录 ​编辑 一&#xff0c;N皇后问题 1.题意 2.解释 3.题目接口 4.解题思路及代码 二&#xff0c;单词搜索 1.题意 2.解释 3.题目接口 4.思路及代码 一&#xff0c;N皇后问题 1.题意 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上…

递归算法学习——黄金矿工,不同路径III

目录 ​编辑 一&#xff0c;黄金矿工 1.题意 2.题目分析 3.题目接口 4.解题思路及代码 二&#xff0c;不同路径III 1.题意 2.解释 3.题目接口 4.解题思路及代码 一&#xff0c;黄金矿工 1.题意 你要开发一座金矿&#xff0c;地质勘测学家已经探明了这座金矿中的资源…

【牛客刷题】bfs和dfs (二叉树层序遍历、矩阵最长递增路径、被围绕的区域)

二叉树层序遍历 vector<vector<int> > levelOrder(TreeNode* root) {// write code herevector<int> res;vector<vector<int>> result;if (root nullptr) return result;queue<TreeNode*> que;que.push(root);while (!que.empty()) {int …

普里姆算法_最小代价生成树_邻接矩阵表示法

基本思想&#xff1a; 最小生成树问题的概念—普里姆算法是从点的角度来解决。若在解决问题过程中需要遍历图的所有点&#xff0c;则普里姆算法更好。 普里姆算法更像构建一棵树。联想我们构建二叉树的过程&#xff0c;从根节点出发&#xff0c;构建左右子树&#xff0c;再以左…

算法刷题记录-树(LeetCode)

783. Minimum Distance Between BST Nodes 思路(DFS 中序遍历) 考虑中序遍历的性质即可 代码 class Solution { public:int min_diffnumeric_limits<int>::max();int prevnumeric_limits<int>::min()100000;int minDiffInBST(TreeNode* root) {inorderTraversa…

二叉树遍历的递归算法

递归算法的三要素&#xff1a;参数和返回值&#xff1b;终止条件&#xff1b;单层递归的逻辑。 1.递归函数的参数和返回值&#xff1a;确定哪些参数是递归过程中需要处理的&#xff0c;就在递归函数里加上这个参数&#xff0c;并要明确递归函数的返回值和返回类型。 2.确定终…

华为OD机试真题【寻找最大价值的矿堆】

1、题目描述 【寻找最大价值的矿堆】 给你一个由 ‘0’&#xff08;空地&#xff09;、’1’&#xff08;银矿&#xff09;、’2’&#xff08;金矿&#xff09;组成的的地图&#xff0c; 矿堆只能由上下左右相邻的金矿或银矿连接形成。超出地图范围可以认为是空地。 假设银矿…

相同的树-二叉树100-python

没看答案&#xff0c;dfs解法&#xff0c;把返回True或者False的情况都列出即可。 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right…

LeetCode 417.太平洋大西洋水流问题

LeetCode 417.太平洋大西洋水流问题 有一个 m n 的长方形岛屿&#xff0c;与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界&#xff0c;而 “大西洋” 处于大陆的右边界和下边界。 这个岛被分割成一个个方格网格。给定一个 m x n 的整数矩阵 heights &…

蓝桥杯2018年第九届真题-版本分支

题目描述 小明负责维护公司一个奇怪的项目。这个项目的代码一直在不断分支(branch)但是从未发生过合并(merge)。 现在这个项目的代码一共有N个版本&#xff0c;编号1~N&#xff0c;其中1号版本是最初的版本。 除了1号版本之外&#xff0c;其他版本的代码都恰好有一个直接的父版…

应对笔试手写代码,如何准备深度优先算法 广度优先算法?

应对笔试手写代码&#xff0c;如何准备深度优先算法 & 广度优先算法&#xff1f;1. 什么是深度优先算法&#xff1f;什么又是广度优先算法&#xff1f;2. 广度优先算法使用场景3. 广度优先算法模板4. 深度优先算法使用场景5. 深度优先算法模板6. BFS 和 DFS 的复杂度7. BFS…

深度优先搜索简要讲解(附带基础题)

PS:要放假了&#xff0c;考试也快考完了&#xff0c;时间多了起来&#xff0c;有空便来写一篇博客&#xff0c;接下来博客更新会快一点&#xff0c;Thanks for your watching。 前言&#xff1a;该博客主要通过题目讲解给大家简要的介绍一下 题目链接&#xff1a;P1135 奇怪的…

搜索与图论(acwing算法基础)

文章目录 DFS排列数字n皇后 BFS走迷宫 拓扑序列单链表树与图的深度优先搜索模拟队列有向图的拓扑序列 bellman-ford有边数限制的最短路 spfaspfa求最短路spfa判断负环 FloydFloyd求最短路 PrimPrim算法求最小生成树 KruskalKruskal算法求最小生成树 染色法判定二分图染色法判定…

【数据结构】图的遍历、图的应用

以下是对王道数据结构图的部分选择题的纠错 图的遍历 对于一个非连通无向图G&#xff0c;采用DFS访问所有顶点&#xff0c;在DFSTraverse函数中调用DFS的次数正好等于连通分量个数 一次遍历必然会将一个连通图中的所有顶点都访问到&#xff0c;对于已被访问的顶点不在调用DFS&…

LC-1377. T 秒后青蛙的位置(DFS、BFS)

1377. T 秒后青蛙的位置 难度困难57 给你一棵由 n 个顶点组成的无向树&#xff0c;顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下&#xff1a; 在一秒内&#xff0c;青蛙从它所在的当前顶点跳到另一个 未访问 过的顶点&#xff08;如果它们直接相连&#xff09;。青…

有趣的图(二)(56)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 和猫妹学Python&#xff0c;一起趣味学编程。 今日主题 咱们书接上回&#xff0c;上次学了图的基本概念&#xff0c;你都学会了吗&#xff1f; 咱们今天要学习内容如下&a…

c++和Java dfs迷宫问题

1.按照右下左上这个顺时针顺序走 2.全局变量中的迷宫是100*100&#xff0c;就已经把迷宫初始化全为0 3.迷宫要使用的大小是5*4&#xff0c;只有这块区域路和障碍物 如果迷宫直接定义大小5*4&#xff0c;没有把初始地图扩大&#xff0c;会导致数组越界 假设走到边界时&#xff0…

39 全排列(Permutations)

文章目录1 题目2 解决方案2.1 思路2.2 图解2.3 时间复杂度2.4 空间复杂度3 源码4 另解4.1 交换法4.2 插空法1 题目 题目&#xff1a;全排列&#xff08;Permutations&#xff09; 描述&#xff1a;给定一个数字列表&#xff0c;返回其所有可能的排列。假设没有重复的数字。 li…

37 数字组合II(Combination Sum II)

文章目录1 题目2 解决方案2.1 思路2.2 图解2.3 时间复杂度2.4 空间复杂度3 源码1 题目 题目&#xff1a;数字组合II&#xff08;Combination Sum II&#xff09; 描述&#xff1a;给定一个数组 num 和一个整数 target。 找到 num 中所有的数字之和为 target 的组合。 在同一个…

36 数字组合(Combination Sum)

文章目录1 题目2 解决方案2.1 思路2.2 图解2.3 时间复杂度2.4 空间复杂度3 源码1 题目 题目&#xff1a;数字组合&#xff08;Combination Sum&#xff09; 描述&#xff1a;给定一个候选数字的集合 candidates 和一个目标值 target。 找到 candidates 中所有的和为 target 的…

二刷LeetCode--22. 括号生成(C++版本)回溯法例题

本题思路主要还是几种回溯法的使用&#xff0c;可以想象为二叉树&#xff0c;一直向左子树加入左括号&#xff0c;当加入的左括号到达最大限制&#xff0c;就回退到上一层&#xff0c;然后自然需要向右子树加入右括号&#xff0c;然后依次递归&#xff0c;还是需要注意递归的终…

【算法题】剪绳子、计算二进制中1的个数、数值的整数次方

剪绳子、计算二进制中1的个数、数值的整数次方 一、剪绳子1.1、题目描述1.2、思路1.3、代码实现&#xff1a;1.4、华丽的快速幂取余1.5、小结 二、数值的整数次方2.1、题目描述2.2、思路2.3、代码实现2.4、小结 三、计算二进制中1的个数3.1、题目描述3.2、思路3.3、代码实现3.4…

1731: DFS-数字分解http://bhtn.vip/

1731: DFS-数字分解 时间限制: 1 Sec 内存限制: 128 MB 提交: 66 解决: 45 [状态] [提交] [命题人:外部导入] 题目描述 任何一个大于1的自然数n&#xff08;n<30)&#xff0c;总可以拆分成若干个小于n的自然数之和。输出n的分解方案&#xff08;nn也是一种分解方案&…

leetcode904. 水果成篮(java)

水果成篮 leetcode904. 水果成篮题目描述滑动窗口代码演示 回溯算法 leetcode904. 水果成篮 难度 - 中等 leetcode 904 水果成蓝 题目描述 你正在探访一家农场&#xff0c;农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示&#xff0c;其中 fruits[i] 是第 i 棵树…

暴力枚举之烤鸡

P2089 烤鸡 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 之前的dp系列太伤作者的心了&#xff0c;还是暴力系列最抚人心。 咳咳咳&#xff0c;虽然本题可以直接10层for循环暴力枚举&#xff0c;但那样太不优雅了&#xff0c;要优雅嘛。 所以直接上dfs&#xff0c;dfs永远…

【LeetCode算法系列题解】第36~40题

CONTENTS LeetCode 36. 有效的数独&#xff08;中等&#xff09;LeetCode 37. 解数独&#xff08;困难&#xff09;LeetCode 38. 外观数列&#xff08;中等&#xff09;LeetCode 39. 组合总和&#xff08;中等&#xff09; LeetCode 36. 有效的数独&#xff08;中等&#xff09…

递归专题训练详解(回溯,剪枝,深度优先)

1.汉诺塔问题 在经典汉诺塔问题中&#xff0c;有 3 根柱子及 N 个不同大小的穿孔圆盘&#xff0c;盘子可以滑入任意一根柱子。一开始&#xff0c;所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制: (1) 每次只能移动…

1500*C. Kefa and Park(dfstree)

Kefa and Park - 洛谷 Problem - 580C - Codeforces Examples input 4 1 1 1 0 0 1 2 1 3 1 4 output 2 input 7 1 1 0 1 1 0 0 0 1 2 1 3 2 4 2 5 3 6 3 7 output 2 解析&#xff1a; dfs遍历&#xff0c;记录前一个结点权值是否为1&#xff0c;并且累计路径1的个数…

算法通关村第五关-二叉树遍历(深度优先)之经典问题: 递归/迭代实现二叉树前、中、后序遍历

基础知识&#xff08;青铜挑战&#xff09; 理解递归思想&#xff1a;调用自己、压栈、明确终止条件 实战训练&#xff08;白银挑战&#xff09; 递归实现二叉树的前、中、后序遍历 我的建议是直接把代码背下来 你当然可以尝试去理解&#xff0c;也不是很难想明白&#xff…

可能的二分法 -- 二分图判定【DFS、BFS分别实现】

886. 可能的二分法 class PossibleBipartition:"""可能的二分法「其实考察的就是二分图的判定」用dfs和bfs 两种方法分别实现https://leetcode.cn/problems/possible-bipartition/"""def __init__(self):self.success Trueself.color []self.…

图论---图的遍历

在图论中&#xff0c;图的遍历一般有两种&#xff0c;分别为DFS&#xff08;深度优先遍历&#xff09;、BFS&#xff08;广度优先遍历&#xff09;&#xff0c;以下是这两种遍历方式的模板&#xff1a; DFS&#xff08;深度优先搜索&#xff09; 代码框架&#xff1a; void …

蓝桥杯---第一讲 递归与递推

文章目录 前言Ⅰ. 递归实现指数型枚举0x00 算法思路0x00 代码书写0x00 思考总结 Ⅱ. 递归实现排列型枚举0x00 算法思路0x01代码书写0x02 思考总结 Ⅲ. 简单斐波那契0x00 算法思路0x01 代码书写 Ⅳ. 费解的开关0x00 算法思路0x01 代码书写 Ⅴ. 递归实现组合型枚举0x00 算法思路0…

递归算法学习——电话号码的字母组成,括号生成,组合

目录 一&#xff0c;电话号码的字母组合 1.题意 2.例子 3.题目接口 4.解题代码和思路 代码&#xff1a; 思路&#xff1a; 二&#xff0c;括号的生成 1.题意 2.例子 3.题目接口 四&#xff0c;解题代码和思路 1.先写代码&#xff1a; 2.思路 三&#xff0c;组合 …

图的深度优先与广度优先遍历

上篇博客介绍了图的概念与图的存储(邻接矩阵、邻接表)&#xff1a; 接下来就是介绍图的遍历。 图的遍历 给定一个图G和其中任意一个顶点v0&#xff0c;从v0出发&#xff0c;沿着途中各边访问图中的所有顶点&#xff0c;且每个顶点仅被遍历一次。"遍历"即对结点进行…

leetcode算法题--树的子结构

原题链接&#xff1a;https://leetcode.cn/problems/shu-de-zi-jie-gou-lcof/description/?envTypestudy-plan-v2&envIdcoding-interviews 是一个dfs的题目&#xff0c;但是一开始的方法写的有点麻烦 /*** Definition for a binary tree node.* type TreeNode struct {*…

树结构二叉树

1.遍历 二叉树使用前序遍历&#xff1a; public class PreOrder {public static void main(String[] args) {PreOrder order new PreOrder();order.preOrder(order.initTree());}public void preOrder(TreeNode root) {if (root ! null) {// 打印根结点System.out.print(roo…

大厂可能会问的那些思维题和技术点

精选大厂可能会问的那些思维题和技术点 一、题目一1.1、思路&#xff1a;1.2、代码实现 二、题目二三、const 的含义及实现机制, ,比如 : const int i, 是怎么做到 i 只可读的? ?四、到商店里买 200 的商品返还 100 优惠券( ( 可以在本商店代替现金) ) 。请问实际上折扣是多少…

【数据结构】——图的相关习题

目录 一、选择填空判断题题1题2题3 二、应用题题1 一、选择填空判断题 题1 1、无向图G&#xff08;V&#xff0c;E&#xff09;&#xff0c;其中&#xff1a;V{a&#xff0c;b&#xff0c;c&#xff0c;d&#xff0c;e&#xff0c;f}&#xff0c;E{&#xff08;a&#xff0c;b…

剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 Offer 68 - II. 二叉树的最近公共祖先

I.递归法 根据二叉搜索树的性质&#xff0c;判断两个节点p,q 是否在root 的同一侧&#xff0c;如果在的话说明p,q的相同父节点是root 的子节点&#xff1b;如果判断p,q 在root 的异侧那么就返回根节点root. /*** Definition for a binary tree node.* public class TreeNode {…

算法提高-图论- 无向图的双连通分量

无向图的双连通分量 无向图的双连通分量桥&#xff08;割边&#xff09;AcWing 395. 冗余路径 割点AcWing 1183. 电力AcWing 396. 矿场搭建 无向图的双连通分量 本篇章的内容我的学习大多已开在算法进阶指南这本书和题解&#xff08;算法进阶指南中有关搜索树的概念解释的特别…

LeetCode刷题——搜索(python语言)

LeetCode刷题——搜索&#xff08;python语言&#xff09; 一、搜索 搜索简单来说分为查找和遍历。 查找分为有序查找&#xff08;二分查找&#xff09;和无序查找&#xff08;顺序查找&#xff0c;二叉搜索树&#xff09;。 顺序查找&#xff1a;一个挨一个找&#xff0c;从…

Leetcode-路径总和

思路&#xff1a;递归思想&#xff0c;一开始想用回溯的&#xff0c;但后来想想&#xff0c;太麻烦了&#xff0c;就改成递归思想了。递归的终止条件是当到达叶子节点的时候。如果还没到达叶子节点时&#xff0c;那么看他是否有左右子节点&#xff0c;然后根据条件f1hasPathSum…

OJ练习第114题——T 秒后青蛙的位置

T 秒后青蛙的位置 力扣链接&#xff1a;1377. T 秒后青蛙的位置 题目描述 给你一棵由 n 个顶点组成的无向树&#xff0c;顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下&#xff1a; 在一秒内&#xff0c;青蛙从它所在的当前顶点跳到另一个 未访问 过的顶点&#xf…

二分图匹配算法

匈牙利算法、Hopcroft-Karp算法和Kuhn-Munkres算法是三种常见的二分图匹配算法&#xff0c;它们在实现方式、时间复杂度和适用场景上有所差异。以下是它们的区别和优缺点&#xff1a; 匈牙利算法&#xff1a; 实现方式&#xff1a;匈牙利算法使用深度优先搜索(DFS)来寻找增广路…

P2858 [USACO06FEB]Treats for the Cows G/S 区间DP

(1) dfs 两个方向&#xff0c;(l1,r ) (l,r-1) (2)记忆化dfs 用f[l][r] max(Ldfs,Rdfs);return f[l][[r]; 以l,r为状态 (3)推出DP状态转移方程 初始化 f[i][i] n * a[i] //沿着dfs f[l][r] max(f[l1][r] a[i]*(n-i1), f[l][r-1] a[i] * (n-i1)); 这是一到区间…

LeetCode | 图

文章目录785. Is Graph Bipartite? &#xff08;判断二分图&#xff09;210. Course Schedule II &#xff08;课程表II&#xff09;1059. All Paths from Source Lead to Destination (Medium)1135. Connecting Cities With Minimum Cost 最小生成树785. Is Graph Bipartite?…

第四课 递归、分治

文章目录 第四课 递归、分治lc78.子集--中等题目描述代码展示 lc77.组合--中等题目描述代码展示 lc46.全排列--中等题目描述代码展示 lc47.全排列II--中等题目描述代码展示 lc226.翻转二叉树--简单题目描述代码展示 lc98.验证二叉搜索树--中等题目描述代码展示 lc104.二叉树的最…

【LeetCode75】第四十五题 重新规划路线

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们一个表示城市连通情况的有向图&#xff0c;要求每个城市都要可以通向0号城市&#xff0c;不同城市之间只有一条路线&#xff0c;我…

深度优先遍历(Depth-First Search, DFS)和广度优先遍历(Breadth-First Search, BFS)

深度优先遍历&#xff08;DFS&#xff09; 问题1&#xff1a;什么是深度优先遍历&#xff08;DFS&#xff09;&#xff1f; 答案&#xff1a; 深度优先遍历是一种用于遍历树或图的算法&#xff0c;它从根节点&#xff08;或其他起始节点&#xff09;开始&#xff0c;首先探索…

《算法竞赛·快冲300题》每日一题:“取石子游戏”

《算法竞赛快冲300题》将于2024年出版&#xff0c;是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码&#xff0c;以中低档题为主&#xff0c;适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 取…

2022年06月 C/C++(七级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:有多少种二叉树 输入n(1<n<13),求n个结点的二叉树有多少种形态 时间限制:1000 内存限制:65536 输入 整数n 输出 答案 样例输入 3 样例输出 5 这个问题可以使用动态规划的方法来解决。我们可以定义一个数组dp,其中dp[i]表…

最小生成树Kruskal、Prim算法C++

什么是最小生成树 连通图&#xff1a; 在无向图中&#xff0c;若从顶点v1到顶点v2有路径&#xff0c;则称顶点v1和顶点v2是连通的。如果图中任意一对顶点都是连通的&#xff0c;则称此图为连通图。 生成树&#xff1a; 一个连通图的最小连通子图称作为图的生成树。有n个顶点的…

LeetCode 297. Serialize and Deserialize Binary Tree【树,DFS,BFS,设计,二叉树,字符串】困难

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

华为OD机试 - 战场索敌 - 深度优先搜索dfs算法(Java 2023 B卷 100分)

目录 一、题目描述二、输入描述三、输出描述四、深度优先搜索dfs五、解题思路六、Java算法源码七、效果展示1、输入2、输出3、说明4、如果增加目标敌人数量K为55、来&#xff0c;上强度 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 一、题目描述 有一个大小是N*M…

1905. 统计子岛屿

给你两个 m x n 的二进制矩阵 grid1 和 grid2 &#xff0c;它们只包含 0 &#xff08;表示水域&#xff09;和 1 &#xff08;表示陆地&#xff09;。一个 岛屿 是由 四个方向 &#xff08;水平或者竖直&#xff09;上相邻的 1 组成的区域。任何矩阵以外的区域都视为水域。 如…

【学习笔记】「2020-2021 集训队作业」Communication Network

有点难&#x1f605; 发现容斥系数设计的非常巧妙&#x1f914; 设 f ( i ) f(i) f(i)表示恰好有 i i i条边相同的方案数&#xff0c; g ( i ) g(i) g(i)表示至少有 i i i条边相同的方案数 根据二项式反演&#xff0c; g ( i ) ∑ j ≥ i ( j i ) f ( j ) ⇒ f ( i ) ∑ j…

1254. 统计封闭岛屿的数目

二维矩阵 grid 由 0 &#xff08;土地&#xff09;和 1 &#xff08;水&#xff09;组成。岛是由最大的4个方向连通的 0 组成的群&#xff0c;封闭岛是一个 完全 由1包围&#xff08;左、上、右、下&#xff09;的岛。 请返回 封闭岛屿 的数目。 示例 1&#xff1a; 输入&…

【题解】2596. 检查骑士巡视方案

题解&#xff1a; class Solution {int n,m;bool st[100][100];int flag;int dx[8]{-1,-2,-2,-1,1,2,2,1};int dy[8]{-2,-1,1,2,2,1,-1,-2}; public:bool checkValidGrid(vector<vector<int>>& grid) {m grid.size();n grid[0].size();dfs(grid,0,0,0);ret…

python迷宫问题深度优先

一、迷宫介绍 用python解迷宫问题&#xff0c;迷宫是一个二维列表&#xff0c;本次用深度优先解开迷宫问题。定义起点和终点&#xff0c;从一个位置到下一个位置只能通过向上或下或左或右&#xff0c;走一步来实现&#xff0c;从起点出发&#xff0c;如何找到一条到达终点的通…

树和图的dfs和bfs概念

1.深度优先遍历每搜一次就进入递归调用自身 2.宽度优先遍历没有进行递归也就是一直搜索当前节点能到达的下一层节点直到节点搜索完时再搜索下一节点 使用邻接表 遍历&#xff1a;每个点只会被遍历一次 1.深度优先遍历。 尽可能往深了搜&#xff0c;当触底时回溯&#xff0c;…

蓝桥杯 矩阵相加 模拟

问题描述 小蓝有一个 100 行 100 列的矩阵&#xff0c;矩阵的左上角为 1。其它每个位置正好比其左边的数大 2&#xff0c;比其上边的数大 1 。 例如&#xff0c;第 1 行第 2 列为 3&#xff0c;第 2 行第 2 列 为 4&#xff0c;第 10 行第 20 列为 48。    小蓝想在矩阵中找到…

LeetCode刷题笔记 字节每日打卡 复原 IP 地址

有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&#xff0c;但是 "0.011.255.2…

1064金明的预算(5个dp)

1064 金明的预算 这道题就是一个依赖性背包&#xff0c;通过主件附件就能看出来 输入的时候处理好主件和附件&#xff0c;把附件归到主件里面&#xff0c;在规划的时候跳过附件处理主件&#xff0c;因为本题只有0&#xff0c;1&#xff0c;2附件这几种情况&#xff0c;因此枚举…

1019 单词接龙

1019 单词接龙 其实感觉这道题和 拼数 很像 这一道题必须得进行去重 这道题又是一道水题&#xff0c;因为数据不过是20&#xff0c;通过枚举加去重因该可以过 首先我们要分几个版块&#xff1a; 1.搜索函数&#xff0c;这个函数首先我们要枚举这n个单词&#xff0c;人后再对每…

1010 幂次方

1010 幂次方 其实这一步代码感觉并不难实现&#xff0c;就是不好想 我们一看就明白&#xff0c;这一定需要递归 首先我们得明白&#xff0c;一个数先进行用2的次幂表示&#xff0c;如何表示&#xff0c;只需要使用O&#xff08;logn&#xff09;的一个循环&#xff0c;然后我们…

leetcode每日一道(20)深度优先!二叉树路径代表的数字之和

题目描述 给定一个仅包含数字0-9的二叉树&#xff0c;每一条从根节点到叶子节点的路径都可以用一个数字表示。 例如根节点到叶子节点的一条路径是1->2->3,那么这条路径就用123来代替。 找出根节点到叶子节点的所有路径表示的数字之和 例如&#xff1a; 1↵ / ↵ 2 3 根节…

Notepad ——欧拉降幂

Link 欧拉降幂&#xff0c;b^n mod c&#xff0c; b和n都需要降幂 代码 // Decline is inevitable, // Romance will last forever. #include <bits/stdc.h> using namespace std; //#define mp make_pair #define pii pair<int,int> #define pb push_back #defi…

leetcode每日一道(19)逆向思维!模拟围棋:请捕获所有的被‘X’包围的区域

题目描述 现在有一个仅包含‘X’和‘O’的二维板&#xff0c;请捕获所有的被‘X’包围的区域 捕获一个被包围区域的方法是将被包围区域中的所有‘O’变成‘X’ 例如 X X X X X O O X X X O X X O X X 执行完你给出的函数以后&#xff0c;这个二维板应该变成&#xff1a; X X X …

leetcode每日一道(18)神仙思路!返回字符串所有的回文子串切分结果

题目描述 给定一个字符串s&#xff0c;分割s使得s的每一个子串都是回文串 返回所有的回文分割结果。&#xff08;注意&#xff1a;返回结果的顺序需要和输入字符串中的字母顺序一致。&#xff09; 例如:给定字符串s“aab”, 返回 [“aa”,“b”],↵ [“a”,“a”,“b”] 深度优…

求解密码 c++ dfs

文章目录求解密码解题思路思路解题代码定义变量变量初始化数据读入数据处理递归实现密码校验输出结果整体代码求解密码 给定一个整数n和一个由不同大写字母组成的字符串str&#xff08;长度大于5、小于12&#xff09;&#xff0c;每一个字母在字母表中对应有一个序数&#xff0…

Acwing 165. 小猫爬山 dfs剪枝与优化

原题链接&#xff1a;Acwing 165. 小猫爬山 学习博客&#xff1a;[dfs] aw165. 小猫爬山(dfs剪枝与优化好题) #include <bits/stdc.h> using namespace std; #define ull unsigned long long int n,m; int w[20]; int car[20]; int res1e8;void dfs(int u,int cnt) {if(…

简单枚举/枚举排列

ACM学习笔记-DAY 13 来到《算法竞赛入门经典》第七章《暴力枚举法》&#xff0c;提出的是暴力“列举”出所有可能性并一一试验的方法。 目录 1 简单枚举 2 枚举排列 2.1 生成1~n的排列 2.2 生成可重集的排列 2.3 解答树 2.4 下一个排列 1 简单枚举 简单枚举就是枚举一些…

【GDKOI2006】新红黑树

题目大意 给出 nnn 条边的左右端点和边的颜色(111 或 −1-1−1)和权值 www&#xff0c;边组成一棵树&#xff0c;根节点为 000&#xff0c;有 A,BA,BA,B 二人轮流删边&#xff0c;AAA 只能删掉颜色为 111 的边&#xff0c; BBB 只能删掉颜色为 −1-1−1 的边&#xff0c;若一条…

CJJ每日打卡-----枚举(因子问题、谁是你的真朋友)

一、因子问题 描述&#xff1a; 任给两个正整数N、M&#xff0c;求一个最小的正整数a&#xff0c;使得a和(M-a)都是N的因子。 输入&#xff1a; 包括两个整数N、M。N不超过1,000,000。 输出&#xff1a; 输出一个整数a&#xff0c;表示结果。如果某个案例中满足条件的正整…

LeetCode学习

第七天 文章目录第七天一、700. 二叉搜索树中的搜索二、701. 二叉搜索树中的插入操作一、700. 二叉搜索树中的搜索 给定二叉搜索树&#xff08;BST&#xff09;的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在&#x…

Java递归,尾递归

递归 1.递归方法&#xff0c;一个方法体内调用它自身2.方法递归包含了一种隐式的循环&#xff0c;他会重复执行某行代码&#xff0c;但这种重复无序循环控制递归一定要向已知方向递归&#xff0c;否则这种递归就变成了无穷递归&#xff0c;类似与死循环 题目 已知有一个数列&a…

Dis(LCA 双向)

题目描述 给出 n 个点的一棵树&#xff0c;多次询问两点之间的最短距离。 注意&#xff1a;边是双向的。 输入格式 第一行为两个整数 n 和 m。n 表示点数&#xff0c;m 表示询问次数&#xff1b; 下来 n-1 行&#xff0c;每行三个整数 x ,y, k&#xff0c;表示点 x 和点 y 之…

【刷题】二叉树的最大深度

原题链接二叉树最大深度 文章目录解法一递归解法二层序遍历解法一 递归 1.递归求左子树的最大高度 2.再递归求右子树的最大高度 3.返回左右子树中较深的那个&#xff0c;加上根节点的高度1 class Solution { public:/*** * param root TreeNode类 * return int整型*/int max…

算法训练——图(生成树、并查集、环、路径)

文章目录广泛用到BFS和DFS,我经常混淆的地方是&#xff1a;究竟是在哪里判断是否被访问过if(vised[node])&#xff1f;建议&#xff1a;如果是BFS&#xff1a;在出队后进行判断。我有时候的顾虑是想着不要重复入队&#xff0c;所以在入队前进行判断vised即在for循环里面判断&am…

算法训练——DFS专题

文章目录DFS934 最短的桥1102 得分最高的路径DFS 934 最短的桥 有两个岛&#xff0c;现要建桥连接两岛&#xff0c;问最短桥距离为多少 我用了DFS标记两个岛屿&#xff0c;分别标记为2和3&#xff0c;又用了BFS对标记为2的岛进行一圈一圈地扩展&#xff0c;即扩展的一圈又一圈…

C语言算法题:过山车

一、题目 RPG girls今天和大家一起去游乐场玩&#xff0c;终于可以坐上梦寐以求的过山车了。可是&#xff0c;过山车的每一排只有两个座位&#xff0c;而且还有条不成文的规矩&#xff0c;就是每个女生必须找个个男生做 partner 和她同坐。但是&#xff0c;每个女孩都有各自的想…

全排列 II——力扣47

文章目录 题目描述解法题目描述 解法 class Solution {public:vector<int> vis;void dfs(vector<int&

C语言:L2-024 部落 (25 分) —— 并查集

文章目录一、题目二、方法11、思路2、代码一、题目 在一个社区里&#xff0c;每个人都有自己的小圈子&#xff0c;还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里&#xff0c;于是要请你统计一下&#xff0c;在一个给定社区中&#xff0c;到底有多少个互…

C语言:L2-020 功夫传人 (25 分)

文章目录一、题目二、方法11、思路2、代码一、题目 一门武功能否传承久远并被发扬光大&#xff0c;是要看缘分的。一般来说&#xff0c;师傅传授给徒弟的武功总要打个折扣&#xff0c;于是越往后传&#xff0c;弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高…

C语言:L1-071 前世档案 (20 分)

文章目录一、题目二、方法11、思路2、代码一、题目 网络世界中时常会遇到这类滑稽的算命小程序&#xff0c;实现原理很简单&#xff0c;随便设计几个问题&#xff0c;根据玩家对每个问题的回答选择一条判断树中的路径&#xff08;如下图所示&#xff09;&#xff0c;结论就是路…

合并二叉树

将这两棵树合并成一棵新二叉树。合并的规则是&#xff1a;如果两个节点重叠&#xff0c;那么将这两个节点的值相加作为合并后节点的新值&#xff1b;否则&#xff0c;不为NULL的节点将直接作为新二叉树的节点。 方法1&#xff1a;使用递归 递归三部曲&#xff1a; &#xff…

算法--递归

NO.1 递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。 输入格式 输入一个整数 n 输出格式 每行输出一种方案。 同一行内的数必须升序排列&#xff0c;相邻两个数用恰好 1 个空格隔开。 对于没有选任何数的方案&#xff0c;输出…

LeetCode695之岛屿的最大面积(相关话题:深度优先,广度优先)

题目描述 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&#xff09;包围着。 岛屿的面积是岛…

全排列算法permutation

/* 用递归的方法实现全排列基本思想如下&#xff1a;简单来来说&#xff0c;就是枚举每一个位置上可能的数字。每次可以通过与其它位置的数字交换&#xff0c;从而都到一个新的排列。例如&#xff0c;对于 ABC&#xff0c;一共有3个位置。对于位置1&#xff0c;可以与位置1交…

图的遍历(递归+非递归)

图遍历一共有四种&#xff0c;邻接矩阵的BFS与DFS&#xff0c;邻接表的BFS与DFS 还有BFS(BFS没有递归&#xff01;)与DFS递归与非递归&#xff1b; 目录 DFS 手工 邻接矩阵 递归 非递归 邻接表 递归 非递归 BFS 手工 更新 邻接表遍历算法 邻接矩阵算法 DFS 手…

图2 - DFS、BFS遍历邻接矩阵图

邻接矩阵存储无向图的类 const int MaxSize10; template <class T> class Mgraph{public:MGraph(T a[ ], int n, int e ); ~MGraph( )void DFSTraverse(int v); void BFSTraverse(int v);……private:T vertex[MaxSize]; int arc[MaxSize][MaxSize]; int vertexNum, …

PAT 甲 1030 Travel Plan Dijkstra+DFS 算法

2022.2.13 练习 PAT 甲 1030 Travel Plan &#xff08;原题链接&#xff09; 题解一&#xff1a; #include <bits/stdc.h> using namespace std; const int MAX_NUM510; const int INF0x3fffffff; int n,m,s,D;int d[MAX_NUM];//起点到各点的最短路径长度 int visit[MA…

石子游戏 dfs + 备忘录 JAVA

Alice 和 Bob 用几堆石子在做游戏。一共有偶数堆石子&#xff0c;排成一行&#xff1b;每堆都有 正 整数颗石子&#xff0c;数目为 piles[i] 。 游戏以谁手中的石子最多来决出胜负。石子的 总数 是 奇数 &#xff0c;所以没有平局。 Alice 和 Bob 轮流进行&#xff0c;Alice 先…

695. 岛屿的最大面积(经典DFS)

给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&#xff09;包围着。 岛屿的面积是岛上值为 1 …

leetcode 2097 — 合法重新排列数对

leetcode 2097 — 合法重新排列数对一、题目描述二、分析三、算法1、欧拉通路&#xff08;1&#xff09;实现&#xff08;2&#xff09;优化2、实现一、题目描述 二、分析 不难发现&#xff0c;这个问题其实就是将不同的数字作为图中的顶点&#xff0c;将所有 pair 的头尾相连…

蓝桥杯之图论、广度优先、深度优先

图的表示、图的遍历[7.1 深度优先]求连通性给定一个方阵&#xff0c;定义连通&#xff1a;上下左右相邻&#xff0c;并且值相同。 可以想象成一张地图&#xff0c;不同的区域被涂以不同颜色。 输入&#xff1a; 整数N, (N<50)表示矩阵的行列数 接下来N行&#xff0c;每行N个…

剑指Offer刷题(Python)

矩阵中的路径 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。 路径可以从矩阵中的任意一个格子开始&#xff0c;每一步可以在矩阵中向左&#xff0c;向右&#xff0c;向上&#xff0c;向下移动一个格子。 如果一条路径经过了矩…

不撞南墙不回头——浅谈深度优先搜索(DFS)

先看看维基百科&#xff1a; 深度优先搜索算法&#xff08;英语&#xff1a;Depth-First-Search&#xff0c;DFS&#xff09;是一种用于遍历或搜索树或图的算法。这个算法会尽可能深的搜索树的分支。当节点v的所在边都己被探寻过&#xff0c;搜索将回溯到发现节点v的那条边的起…

【LeetCode-中等题】 222. 完全二叉树的节点个数

文章目录 题目方法一&#xff1a;把该题当做一个普通的二叉树来做&#xff08;任何遍历都可以&#xff09;方法二&#xff1a;利用完全二叉树的性质来做 题目 方法一&#xff1a;把该题当做一个普通的二叉树来做&#xff08;任何遍历都可以&#xff09; 例如&#xff1a;二叉树…

蓝桥杯 题库 简单 每日十题 day5

01 字符计数 字符计数 题目描述 给定一个单词&#xff0c;请计算这个单词中有多少个元音字母&#xff0c;多少个辅音字母。 元音字母包括a,e&#xff0c;i,o&#xff0c;u&#xff0c;共五个&#xff0c;其他均为辅音字母。 输入描述 输入格式&#xff1a; 输入一行&#xff0…

dfs力扣1993树上的操作

文章目录 dfs力扣1993树上的操作题目示例提示做题历程做题思路数组定义编写代码 完整代码 dfs力扣1993树上的操作 题目 题目链接 给你一棵 n 个节点的树&#xff0c;编号从 0 到 n - 1 &#xff0c;以父节点数组 parent 的形式给出&#xff0c;其中 parent[i] 是第 i 个节点…

LeetCode2741.特别的排列 状压

暴力枚举的话是n&#xff01; 考虑状压DP&#xff0c;其实就是用二进制表示状态 再进行暴力 同时加一个记忆化就好了 这里有常用技巧&#xff1a; 全集&#xff08;1<<n&#xff09;-1 增加某个元素 x | (1<<i) 删除某个元素 x & ~(1<<i) const i…

图的深度优先遍历的六种应用附Java代码

目录 无向图的连通分量个数 单纯求出了连通分量个数 能具体返回哪几个点是同一个连通分量 路径问题 单源路径问题 从某个顶点到另一个顶点的路径问题 检测无向图中的环 二分图的检测 无向图的连通分量个数 单纯求出了连通分量个数 import java.util.ArrayList;publi…

1300*C. Coin Rows(枚举模拟)

解析&#xff1a; 两人都绝对聪明&#xff0c;Alice先走&#xff0c;尽量让Bob所能拿的分数最少&#xff0c;Alice有一次往下走的机会&#xff0c;剩余没走过的点正好分为两断断开的区域&#xff0c;所以Bob的最大分数要么在第一格向下或者在最后一列向下。 遍历区间&#xff0…

DFS:842. 排列数字

给定一个整数 nn&#xff0c;将数字 1∼n1∼n 排成一排&#xff0c;将会有很多种排列方法。 现在&#xff0c;请你按照字典序将所有的排列方法输出。 输入格式 共一行&#xff0c;包含一个整数 nn。 输出格式 按字典序输出所有排列方案&#xff0c;每个方案占一行。 数据…

【LeetCode:117. 填充每个节点的下一个右侧节点指针 II | DFS | BFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Leetcode—199.二叉树的右视图【中等】

2023每日刷题&#xff08;十九&#xff09; Leetcode—199.二叉树的右视图 深度优先遍历实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(…

蓝桥杯官网练习题(正则问题)

题目描述 考虑一种简单的正则表达式&#xff1a; 只由 x ( ) | 组成的正则表达式。 小明想求出这个正则表达式能接受的最长字符串的长度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是&#xff1a; xxxxxx&#xff0c;长度是 6。 输入描述 一个由 x()| 组成的正则表…

AtCoder Beginner Contest 327 A-F

文章目录 A - abB - A^AC - Number PlaceD - Good Tuple ProblemE - Maximize RatingF - Apples A - ab #include <bits/stdc.h>using namespace std; const int N 2e5 5; typedef long long ll; typedef pair<ll, ll> pll; typedef array<ll, 3> p3; int…

C++深度优先搜索(DFS)算法的应用:树中可以形成回文的路径数

本文涉及知识点 深度优先搜索(DFS) 状态压缩 题目 给你一棵 树&#xff08;即&#xff0c;一个连通、无向且无环的图&#xff09;&#xff0c;根 节点为 0 &#xff0c;由编号从 0 到 n - 1 的 n 个节点组成。这棵树用一个长度为 n 、下标从 0 开始的数组 parent 表示&#…

团体程序设计天梯赛-练习集——L2-038 病毒溯源 (25 分)

病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株&#xff0c;而这些变异的病毒又可能被诱发突变产生第二代变异&#xff0c;如此继续不断变化。 现给定一些病毒之间的变异关系&#xff0c;要求你找出其中最长的一条变异链。 在此假设给出的变异都是由突变引起的&a…

2021天梯赛训练-6——7-10 功夫传人 (25分)

一门武功能否传承久远并被发扬光大&#xff0c;是要看缘分的。一般来说&#xff0c;师傅传授给徒弟的武功总要打个折扣&#xff0c;于是越往后传&#xff0c;弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子&#xff08;或者是吃到了灵丹、挖到了特别的…

暑假集训-1 深搜(dfs)+广搜(bfs)

暑假第一次训练就是深搜和广搜 &#xff0c;虽然深搜和广搜在后面的使用不是很多&#xff0c;但刚开始对我这种小菜鸡来说还是有很大难度的&#xff0c;不少题目自己还是想不出来&#xff0c;看到别人的题解后就恍然大悟了&#xff0c;还是太菜了 A - 棋盘问题 POJ - 1321 在一…

1857: FBI树(NOIP 2004 PJT3)(佐助题库http://www.12345code.com/problem.php?id=1857)

1857: FBI树&#xff08;NOIP 2004 PJT3&#xff09; 题目描述 我们可以把由“0”和“1”组成的字符串分为三类&#xff1a;全“0”串称为B串&#xff0c;全“1”串称为I串&#xff0c;既含“0”又含“1”的串则称为F串。 FBI树是一种二叉树&#xff0c;它的结点类型也包括F结…

LeetCode刷题——树(python语言)

LeetCode刷题——树&#xff08;python语言&#xff09; 一、树 数其实就是链表的拓展&#xff0c;将链表的后指针的一个跟改为多个。树已经不是线性结构了。其中最为经典的就是二叉树。如下图所示&#xff0c;即为一个二叉树。其中1为根节点&#xff0c;2为左子树&#xff0…

【Leetcode】岛屿问题——dfs算法

岛屿问题是dfs回溯算法中的经典问题&#xff0c;以下就是对岛屿问题相关的问题进行汇总。 文章目录岛屿问题463. 岛屿的周长200. 岛屿数量305. 岛屿数量Ⅱ695. 岛屿的最大面积1254. 统计封闭岛屿的数目827. 最大人工岛岛屿问题 463. 岛屿的周长 1.题目描述 leetcode题目链接…

算法分析之二叉树遍历

算法相关数据结构总结&#xff1a; 序号数据结构文章1动态规划动态规划之背包问题——01背包 动态规划之背包问题——完全背包 动态规划之打家劫舍系列问题 动态规划之股票买卖系列问题 动态规划之子序列问题 算法&#xff08;Java&#xff09;——动态规划2数组算法分析之数…

Java算法刷题笔记总结

最近刷力扣的一部分规划和总结在这里记载一下&#xff1a; 文章目录一、 回溯算法1.Java实现回溯算法入门2.Java实现回溯算法进阶二、动态规划1.算法&#xff08;Java&#xff09;——动态规划2. Java动态规划算法从入门的到熟练3. 动态规划之背包问题——01背包4. 动态规划之背…

杭电多校3 1012. Two Permutations dp*

1012 dp 题意 给出长度为 nnn 的全排列 p,qp,qp,q&#xff0c;还有一个由 p,qp,qp,q 组成的长度为 2n2\times n2n 的序列 SSS 。 现在有一个空序列 RRR &#xff0c;每次可以从 ppp 或 qqq 的开头取出一个数字并加到 RRR 的末尾&#xff0c;问有多少种取法使得 RSR SRS 。 …

P4551 最长异或路径 01字典树

link 01字典树&#xff0c;xor&#xff0c;贪心 思路 求树上的最长异或路径。 结论&#xff1a;一个数&#xff0c;如果它两次异或同一个数&#xff0c;那么它是不会有改变的。 故 i,ji,ji,j 的路径上的异或和&#xff0c;就可以表示成根到 iii 的异或和异或上根到 jjj 的异或…

1635D. Infinite Set 位运算

Link 思维 题意 给一个数组 aaa&#xff0c;对于集合 SSS&#xff0c;正整数 xxx 若满足以下条件中的至少一条&#xff0c;则 x∈Sx \in Sx∈S 1.x∈ax \in ax∈a 2.∃y∈S,x2y1\exists y\in S, x2y1∃y∈S,x2y1 3.∃y∈S,x4y\exists y\in S, x4y∃y∈S,x4y 求 SSS 中严格小于…

LeetCode 1123. Lowest Common Ancestor of Deepest Leaves【树,DFS,BFS,哈希表】1607

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

P1600 [NOIP2016 提高组] 天天爱跑步 树上差分*

Link 参考文章 一道我觉得非常好的题目&#xff0c;有些地方还没想清楚&#xff0c;需要再回顾一下。 问题的第一个关键就在于把原问题转化&#xff1a; 有 mmm 个玩家&#xff0c;其中第 iii 个玩家给 SiS_iSi​ 到 lca(Si,TiS_i, T_iSi​,Ti​)的路径上每个点增加一个类型为 …

力扣第110题 平衡二叉数 c++ 树 深度优先搜索 二叉树

题目 110. 平衡二叉树 简单 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null…

图论第2天----第1020题、第130题

# 图论第2天----第1020题、第130题 文章目录 一、第1020题--飞地的数量二、第130题--被围绕的区域 ​ 又继续开始修行&#xff0c;把图论这块补上&#xff0c;估计要个5-6天时间。 一、第1020题–飞地的数量 ​ 跟前面做的思路差不多&#xff0c;其实有另外一种思路。我这里是…

Leetcode—剑指OfferII LCR 044.在每个树行中找最大值【中等】

2023每日刷题&#xff08;二十三&#xff09; Leetcode—LCR 044.在每个树行中找最大值 DFS实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ /*** Note: The returned …

【Acwing187】导弹防御系统(LIS+剪枝+贪心+dfs+迭代加深)

题目描述 看本文需要准备的知识 1.最长上升子序列&#xff08;lis&#xff09;的算法思想和算法模板 2.acwing1010拦截导弹&#xff08;lis贪心&#xff09;题解 本题题解&#xff0c;需要知道这种贪心算法 3.简单了解dfs暴力搜索、剪枝、搜索树等概念 思路讲解 dfs求最…

2023NOIP A层联测27-kotori

琴里的飞船中有 n n n 个人&#xff0c;其中有 n − 1 n - 1 n−1 个通道&#xff0c;所以飞船的内部是一个树形结构。每个人从 1 ∼ n 1\sim n 1∼n 编号&#xff0c;编号越小代表这个人的投票经验最丰富。 每个人有一个投票装置&#xff0c;初始都没有启动。现在琴里希望…

JAVA将List转成Tree树形结构数据和深度优先遍历

引言&#xff1a; 在日常开发中&#xff0c;我们经常会遇到需要将数据库中返回的数据转成树形结构的数据返回&#xff0c;或者需要对转为树结构后的数据绑定层级关系再返回&#xff0c;比如需要统计当前节点下有多少个节点等&#xff0c;因此我们需要封装一个ListToTree的工具类…

两数之和[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个下标从1开始的整数数组numbers&#xff0c;该数组已按非递减顺序排列&#xff0c;请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是numbers[index1]和numbers[index2]&#xff0c;则1 < ind…

【教3妹学编程-算法题】 在树上执行操作以后得到的最大分数

3妹&#xff1a;2哥&#xff0c;今日都立冬了&#xff0c; 可是天气一点都不冷。 2哥 : 立冬了&#xff0c;晚上要不要一起出去吃饺子&#xff1f;&#x1f95f; 3妹&#xff1a;好呀好呀&#xff0c;2哥请吃饺子喽 2哥 : 歪歪&#xff0c;我说的是一起出去吃&#xff0c;没说我…

Java数据结构——应用DFS算法计算流程图下游节点(1)

问题描述&#xff1a; 前端在绘制流程图的时候&#xff0c;某些情况需要对某个节点之后的流程图进行折叠&#xff0c;因此需要得到某个节点的ID后&#xff0c;计算出这个ID下游之后的所有节点&#xff08;找到的节点&#xff0c;边也就找到了&#xff09; 已知条件&#xff1a…

Java数据结构之第二十章、手撕平衡AVL树

目录 一、二叉平衡树 1.1二叉搜索树回顾以及性能分析 1.1.1二叉搜索树的概念 1.2二叉搜索树的查找 1.3二叉树查询性能分析 二、AVL树 2.1AVL树的概念 2.2AVL树节点的定义 2.3AVL树的插入 2.4AVL树的旋转 2.4.1新节点插入较高左子树的左侧---右单旋 2.4.2新节点插入较…

DFS(分布式文件系统)与 DFSR(分布式文件系统复制)的区别

DFS&#xff08;分布式文件系统&#xff09;和 DFSR&#xff08;分布式文件系统复制&#xff09;是两种不同的技术&#xff0c;尽管它们在名称上有一些相似之处&#xff0c;但它们的用途和功能有所不同。 DFS&#xff08;分布式文件系统&#xff09; DFS 是一种用于创建和管理…

LeetCode 341. 扁平化嵌套列表迭代器【设计,迭代器,DFS或栈】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

P3629巡逻 树的直径*

Link 挺有意思的一道题&#xff0c;思路其实蛮清晰也比较容易理解&#xff0c;然而实现的时候写了半天 代码 const int maxn 1e6 10; const int maxm 1e6 10; struct Edge {int to, dis, next; }edge[maxm]; int n, m; int head[maxn], dis[maxn], cnt 1; bool vis[maxn…

蓝桥杯2019第十届国赛_拼接(回溯法)

蓝桥杯2019第十届国赛_拼接&#xff08;回溯法&#xff09; 题目描述 小明要把一根木头切成两段&#xff0c;然后拼接成一个直角。 如下图所示&#xff0c;他把中间部分分成了 nnn \times nnn 的小正方形&#xff0c;他标记了每个小正方形属于左边还是右边。然后沿两边的分界线…

哈密顿回路 c++ dfs

文章目录哈密顿回路解题思路思路解题代码定义变量数据读入递归实现整体代码哈密顿回路 给定一个无向图&#xff0c;由指定的起点前往指定的终点&#xff0c;途中经过的所有其他顶点且只经过一次&#xff0c;成为哈密顿路径&#xff0c;闭合的哈密顿路径&#xff08;起点和终点相…

池塘抽水 c++ dfs

文章目录题目描述解题思路题意思路样例图解解题代码定义变量读入数据算法实现输出结果整体代码运行结果题目描述 池塘抽水 你刚刚承包了一块大小为 M * N &#xff08;1<M, N<1000&#xff09;的地块&#xff0c;现要利用这片区域开发成商业用地&#xff0c;但之前该地块…

Codeforces Round 828 (Div. 3)E题题解

文章目录 [Divisible Numbers (easy version)](https://codeforces.com/contest/1744/problem/E1)问题建模问题分析代码 [ Divisible Numbers (hard version)](https://codeforces.com/contest/1744/problem/E2)问题建模问题分析1.根据简单版本分析所求2.方法1通过因数分解得到…

蓝桥杯官网练习题(玩具蛇)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小蓝有一条玩具蛇&#xff0c;一共有 16 节&#xff0c;上面标着数字 1 至 16。每一节都是一个正方形的形状。相邻的两节可以成直线或者成 90 度角。 小蓝还有一个…

【LeetCode 算法】Minimum Falling Path Sum II 下降路径最小和 II -DFS

文章目录 Minimum Falling Path Sum II 下降路径最小和 II问题描述&#xff1a;分析代码暴力递归记忆化 Tag Minimum Falling Path Sum II 下降路径最小和 II 问题描述&#xff1a; 给你一个 n x n 整数矩阵 grid &#xff0c;请你返回 非零偏移下降路径 数字和的最小值。 非…

dfs+回溯做题笔记

题目链接&#xff1a;t矩阵中的路径_牛客题霸_牛客网 参考代码&#xff1a; import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param matrix char字符型二维数组 * param …

SDUT 2023 summer team contest(for 22) - 14

A - Amanda Lounges 题意&#xff1a; 有n个机场&#xff0c;m条边,对于每个机场可能需要等候室也可能不需要&#xff1b;如果输入2&#xff0c;代表路线连接的两个机场都需要建立&#xff0c;输入1&#xff0c;代表路线连接的其中一个机场建立&#xff08;必须&#xff09;,输…

CSP复习每日一题(四)

树的重心 给定一颗树&#xff0c;树中包含 n n n 个结点&#xff08;编号 1 ∼ n 1∼n 1∼n&#xff09;和 n − 1 n−1 n−1条无向边。请你找到树的重心&#xff0c;并输出将重心删除后&#xff0c;剩余各个连通块中点数的最大值。 重心定义&#xff1a; 重心是指树中的一…

深度优先搜索与动态规划|778, 403

深度优先搜索|778. 水位上升的泳池中游泳&#xff0c;403. 青蛙过河 778. 水位上升的泳池中游泳二分法深度优先搜索403. 青蛙过河 778. 水位上升的泳池中游泳 写了一个普通的深度优先搜索&#xff0c;勉强写出来了但是超时了&#xff0c;走了一半的例子&#xff0c;21/43&…

每天一道leetcode:剑指 Offer 34. 二叉树中和为某一值的路径(中等图论深度优先遍历递归)

今日份题目&#xff1a; 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例1 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSu…

[补题记录] Atcoder Beginner Contest 293(E)

URL&#xff1a;https://atcoder.jp/contests/abc293 目录 E Problem/题意 Thought/思路 Code/代码 E Problem/题意 给出 A、X、M&#xff0c;求 。 Thought/思路 一开始想等比数列求和&#xff0c;但是 m 不保证是质数&#xff0c;所以不能用。 假设 dp[x] 表示&…

字节面试题:给定数字n,数组arr={1,3,5,2},求arr中的数字能组成小于n的最大整数

// 算法流程详见dfs函数&#xff0c;设数字n有m位&#xff0c;arr长度为n,时间复杂度O(m*n)public int max(int n, int[] arr) {Arrays.sort(arr);String value String.valueOf(n);char[] chars value.toCharArray();int[] nums new int[chars.length];for (int i 0; i <…

【Acwing166】数独(dfs+剪枝+位运算)超级详细题解!

本题思路来源于acwing算法提高课 题目描述 看本文需要准备的知识 1.dfs算法基本思想 2.位运算基础 3.对剪枝这个名词的大概了解 剪枝优化位运算优化 常见四种剪枝策略 首先考虑这道题的搜索顺序&#xff0c;很明显&#xff0c;可以随意选择一个空格子&#xff0c;分支为这…

【蓝桥每日一题]-动态规划 (保姆级教程 篇11)#方格取数2.0 #传纸条

目录 题目&#xff1a;方格取数 思路&#xff1a; 题目&#xff1a;传纸条 思路&#xff1a; 题目&#xff1a;方格取数 &#xff08;跑两次&#xff09; 思路&#xff1a; 如果记录一种方案后再去跑另一个方案&#xff0c;影响因素太多了&#xff0c;所以两个方案要同时开…

算法进阶指南图论 道路与航线

其实再次看这题的时候。想法就是和强连通分量有关&#xff0c;我们很容易发现&#xff0c;题目中所说的双向边&#xff0c;就构成了一个强连通分量&#xff0c;而所谓的单向边&#xff0c;则相当于把强连通分量进行缩点&#xff0c;然后整个图成为了一个DAG&#xff0c;众所周知…

动态规划34(Leetcode337打家劫舍3)

1111-1 代码&#xff1a; 好难好困 梦回图论qaq class Solution {Map<TreeNode,Integer> f new HashMap<TreeNode,Integer>();Map<TreeNode,Integer> g new HashMap<TreeNode,Integer>();public int rob(TreeNode root) {dfs(root);return Math.m…

图(graph)的遍历----深度优先(DFS)遍历

目录 前言 深度优先遍历&#xff08;DFS&#xff09; 1.基本概念 2.算法思想 3.二叉树的深度优先遍历&#xff08;例子&#xff09; 图的深度优先遍历 1.图(graph)邻接矩阵的深度优先遍历 思路分析 代码实现 2.图(graph)邻接表的深度优先遍历 思路分析 代码实现 递…

图论10-哈密尔顿回路和哈密尔顿路径+状态压缩+记忆化搜索

文章目录 1 哈密尔顿回路2 哈密尔顿回路算法实现2.1 常规回溯算法2.2 引入变量记录剩余未访问的节点数量 3 哈密尔顿路径问题4 状态压缩4.1 查看第i位是否为14.2 设置第i位是为1或者04.3 小结4.4 状态压缩在哈密尔顿问题中的应用 5 记忆化搜索5.1 记忆化搜索与递推区别5.2 记忆…

邻接表储存图实现广度优先遍历(C++)

目录 基本要求&#xff1a; 邻接表的结构体&#xff1a; 图的邻接表创建&#xff1a; 图的广度优先遍历&#xff08;BFS&#xff09;&#xff1a; 邻接表的打印输出&#xff1a; 完整代码&#xff1a; 测试数据&#xff1a; 结果运行&#xff1a; 通过给出的图的顶点和…

【华为OD机试AB高分必刷题目】无名的搜索题(Java-优先搜索(DFS)实现)

🚀你的旅程将在这里启航!本专栏所有题目均包含优质解题思路,高质量解题代码,详细代码讲解,助你深入学习,高分通过! 文章目录 【华为OD机试AB高分必刷题目】无名的搜索题(Java-优先搜索(DFS)实现)题目描述解题思路Java题解代码代码OJ评判结果代码讲解寄语【华为OD机…

邻接矩阵储存图实现深度优先遍历(C++)

目录 基本要求&#xff1a; 图的结构体&#xff1a; 图的构造&#xff1a; 图的深度优先&#xff08;DFS&#xff09;&#xff1a; 图的打印输出&#xff1a; 完整代码&#xff1a; 测试数据&#xff1a; 运行结果&#xff1a; 通过给出的图的顶点和边的信息&#xff0c…

算法|图论 4

LeetCode 827.最大人工岛 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述&#xff1a;给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后&#xff0c;grid 中最大的岛屿面积是多…

leetcode原题:检查子树

题目&#xff1a; 检查子树。你有两棵非常大的二叉树&#xff1a;T1&#xff0c;有几万个节点&#xff1b;T2&#xff0c;有几万个节点。设计一个算法&#xff0c;判断 T2 是否为 T1 的子树。 如果 T1 有这么一个节点 n&#xff0c;其子树与 T2 一模一样&#xff0c;则 T2 为…

代码随想录算法训练营第十五天| 层序遍历(即广度优先搜索), 226.翻转二叉树,101. 对称二叉树

层序遍历(即广度优先搜索) 需要借用一个队列来实现&#xff0c;队列先进先出&#xff0c;符合一层一层遍历的逻辑&#xff0c;而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。 思路是先把根节点加入队列&#xff0c;然后在遍历下一层前&#xff0c;先将队列拥有的当前层…

Java的全排列模板

c有全排列函数&#xff0c;我们Java没有&#xff0c;所以我们只能自己手写了。 模板一&#xff1a;&#xff08;不去重&#xff09; import java.util.ArrayList; import java.util.Random; import java.util.Scanner; public class liyunpeng {public static void main(Stri…

每天一道leetcode:剑指 Offer 12. 矩阵中的路径(中等DFS深度优先遍历)

今日份题目&#xff1a; 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元…

【每日一题Day297】LC1444切披萨的方案数 | 动态规划+二维前缀和

切披萨的方案数【LC1444】 给你一个 rows x cols 大小的矩形披萨和一个整数 k &#xff0c;矩形包含两种字符&#xff1a; A &#xff08;表示苹果&#xff09;和 . &#xff08;表示空白格子&#xff09;。你需要切披萨 k-1 次&#xff0c;得到 k 块披萨并送给别人。 切披萨的…

spss--数据分析Log-Binonial模型

在横断面研究中&#xff0c;Log-binomial 模型能够获得研究因素与结局变量的关联强度指标患病率比&#xff08;PR&#xff09;&#xff0c;是一种研究二分类观察结果与多因素之间关系的重要方法&#xff0c;在医学研究等领域中得到了广泛的应用。 采用log-binomial 模型可直接估…

图第四课时作业

一、邻接表&#xff08;Adjacency List&#xff09;&#xff0c;即_______与________相结合的存储方法。 二、邻接表的处理方法&#xff1a; 1、图中顶点用一个_______存储&#xff0c;另外&#xff0c;对于顶点数组中&#xff0c;每个数据元素还需要存储指向第一个邻接点的指针…

全排列(dfs/stl)

求1~8的全排列 拿来温故一下回溯和全排列函数 dfs做法 #include<bits/stdc.h> using namespace std; const int maxn2023; int a[maxn]; int flag[maxn]; int n8; void fun(int step) {if(step9){for(int i1;i<n;i){if(i1)cout<<a[i];elsecout<<"…

《算法竞赛·快冲300题》每日一题:“错位排列”

《算法竞赛快冲300题》将于2024年出版&#xff0c;是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码&#xff0c;以中低档题为主&#xff0c;适合入门、进阶。 文章目录 题目描述题解C代码1C代码2Java代码1Java代码…

Python 多继承与mro

深度优先和广度优先&#xff08;使用一个函数时&#xff0c;查找的顺序和优先级&#xff09; 1、类为经典类时&#xff0c;多继承情况下&#xff0c;会按照深度优先查找 2、类为新式类时&#xff0c;多继承情况下&#xff0c;会按照广度优先查找 继承 object 类的是新式类&am…

华为机试真题 C++ 实现【羊、狼、农夫过河】【2022.11 Q4新题】

题目 羊、狼、农夫都在岸边&#xff0c;当羊的数量小于狼的数量时&#xff0c;狼会攻击羊&#xff0c;农夫则会损失羊。农夫有一艘容量固定的船&#xff0c;能够承载固定数量的动物。要求求出不损失羊情况下将全部羊和狼运到对岸需要的最小次数。只计算农夫去对岸的次数&#x…

《算法竞赛·快冲300题》每日一题:“凑二十四”

《算法竞赛快冲300题》将于2024年出版&#xff0c;是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码&#xff0c;以中低档题为主&#xff0c;适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 凑…

算法入门(回溯算法)

当学习完递归后&#xff0c;就可以来学习与理解它好兄弟回溯了。回溯算法比较抽象&#xff0c;小编就以自己学习的角度来分析了&#xff01; 回溯与递归有什么关系 递归与回溯是相辅相成的&#xff0c;回溯算法在递归之后&#xff0c;&#xff08;可以理解没有递归就没有回溯…

使用递归思想遍历二叉树

二叉树的遍历主要有两种方式&#xff1a;深度优先遍历和广度优先遍历 这篇主要讲使用深度优先遍历来遍历二叉树 深度优先遍历有以下三种 前、中、后序遍历&#xff0c;这三种遍历方式的主要区别是中间节点的位置所在的顺序 前序遍历&#xff1a;中间节点在叶子节点前面 中序遍历…

算法|图论 2

LeetCode 695- 岛屿的最大面积 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述&#xff1a;给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求…

[Leetcode] 0100. 相同的树

100. 相同的树 题目描述 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出&…

UVa524 Prime Ring Problem(素数环)

1、题目 2、题意 输入正整数 n n n&#xff0c;把整数1,2,3&#xff0c;…&#xff0c;n 组成一个环&#xff0c;使得相邻两个整数之和均为素数。输出时从整数 1开始逆时针排列。同一个环应恰好输出一次。 n ≤ 16 n \le 16 n≤16。 3、分析 由模型不难得到&#xff1a;每个…

摸鱼也摸鱼之在线数独自动求解

背景 在发现被老板CPU之后&#xff0c;大家想做的基本上都是摸鱼&#xff0c;像我这种没什么手法的人不可能摸鱼打MOBA游戏&#xff0c;所以只能选择数独这种对时间要求不怎么急促的小游戏。然而&#xff0c;有时候搞半天才发现从一开始就错了&#xff0c;这让我很苦恼&#x…

蓝桥杯算法心得——拼数(排列型回溯dfs)

大家好&#xff0c;我是晴天学长&#xff0c;排列型的dfs&#xff0c;在一些需要暴搜的题中很中很重要&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1) .拼数 2) .算法思路 超级递归 1.遍历数组&#…

P1025 [NOIP2001 提高组] 数的划分 题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 数据范围提示思路与部分实现完整代码 题目描述 将整数 n n n 分成 k k k 份&#xff0c;且每份不能为空&#xff0c;任意两个方案不相同&#xff08;不考虑顺序&#xff09;。 例如&#xff1a; n 7 n7 n7&#xf…

推荐算法面试

当然可以&#xff0c;请看下面的解释和回答&#xff1a; 一面&#xff08;7.5&#xff09; 问题&#xff1a;推荐的岗位和其他算法岗&#xff08;CV&#xff0c;NLP&#xff09;有啥区别&#xff1f; 解释&#xff1a; 面试官可能想了解你对不同算法岗位的理解&#xff0c;包…

【算法】树形DP③ 监控二叉树 ⭐(二叉树染色二叉树灯饰)!

文章目录 前期知识 & 相关链接例题968. 监控二叉树解法1——标记状态贪心解法2——动态规划 相关练习题目P2458 [SDOI2006] 保安站岗⭐&#xff08;有多个儿子节点&#xff09;&#x1f6b9;LCP 34. 二叉树染色⭐&#xff08;每个节点 单独dp[k 1]数组&#xff09;LCP 64.…

1600*A. Linova and Kingdom(DFS优先队列贪心)

Problem - 1336A - Codeforces Linova and Kingdom - 洛谷 解析&#xff1a; 开始认为分情况讨论 k 小于等于叶子结点和大于叶子结点的情况&#xff0c;然后选择深度最深的叶子结点和子孙数量最小的结点&#xff0c;但是发现如果把某一个非叶子结点选取&#xff0c;那么其子孙…

【算法每日一练]-单调队列,滑动窗口(保姆级教程 篇1) #滑动窗口 #求m区间的最小值 #理想的正方形 #切蛋糕

今天讲单调队列 目录 题目&#xff1a;滑动窗口 思路&#xff1a; 题目&#xff1a;求m区间的最小值​ 思路&#xff1a; 题目&#xff1a;理想的正方形 思路&#xff1a; 题目&#xff1a;切蛋糕 思路&#xff1a; 一共两种类型&#xff1a;一种是区间中的最值&…

Day10力扣打卡

打卡记录 求一个整数的惩罚数&#xff08;预处理递归&#xff09; 链接 int PRE_SUM[1001];int init []() {for (int i 1; i < 1000; i) {string s to_string(i * i);int n s.length();function<bool(int, int)> dfs [&](int p, int sum) -> bool {if (…

LeetCode 1448. 统计二叉树中好节点的数目:DFS

【LetMeFly】1448.统计二叉树中好节点的数目 力扣题目链接&#xff1a;https://leetcode.cn/problems/count-good-nodes-in-binary-tree/ 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点…

嵌套里面加嵌套(我还是不会构建二叉树如何换根查找)

医院设置 - 洛谷 开始我的思路就是和这些大佬是一样的&#xff0c;但是我自己不会加嵌套&#xff0c;也就是纽带关系&#xff0c;就导致左右节点的大小关系混乱&#xff0c;并且自己写递归的思路还有待提高&#xff0c;脑子也是不够用&#xff0c;太笨了。看了大佬的才知道如何…

【2023百度之星备赛】AcWing 5165. CCC单词搜索(秋季每日一题2023)

题目 https://www.acwing.com/problem/content/5168/ 题目大意&#xff1a; 给定一个单词和一个字符矩阵&#xff0c;要求找出单词在字符矩阵中出现了多少次。出现定义为&#xff1a; 出现在一条直线段上&#xff0c;线段包括水平、垂直、正对角、反对角线段出现在两条垂直…

1300*B. Sort the Array(排序构造)

题意&#xff1a; 一个无重复数字的序列&#xff0c;能否反转一个区间使其成为单增序列。 解析&#xff1a; 记录每个点的值和初始下标&#xff0c;然后排序。 对于排好序的序列进行遍历&#xff0c;找出第一段和原序列下标不同的区间并且标记&#xff08;此区间即为翻转的区…

所有可能的路径 -- DFS拓展应用

797. 所有可能的路径 class Solution:def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:path []self.res []self.traverse(graph, 0, path)return self.resdef traverse(self, graph, s, path):"""DFS遍历树结构""&…

OJ练习第151题——克隆图

克隆图 力扣链接&#xff1a;133. 克隆图 题目描述 给你无向 连通 图中一个节点的引用&#xff0c;请你返回该图的 深拷贝&#xff08;克隆&#xff09;。 示例 分析 对于一张图而言&#xff0c;它的深拷贝即构建一张与原图结构&#xff0c;值均一样的图&#xff0c;但是…

动态规划入门之二维数组的动态规划(过河卒)

P1002 [NOIP2002 普及组] 过河卒 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 过河卒&#xff0c;首先科普一下象棋里面的马的跳跃一步的规则吧&#xff08;这题真够坑人的&#xff0c;连个规则都不给出&#xff0c;害得我第一次交就全wa&#xff09;。一张图解释 大家看所…

代码随想录训练营-回溯04

用于记录为期60天的算法提升过程&#xff0c;今天是第28天 &#x1f578;️代码随想录训练营-回溯&#x1f578;️ 93. &#x1f338;复原 IP 地址&#x1f338;思路&#xff1a;代码 78. &#x1f338;子集 &#x1f338;思路&#xff1a;代码 90. &#x1f338;子集 II&…

从零学算法(剑指 offer 54)

给定一棵二叉搜索树&#xff0c;请找出其中第 k 大的节点的值。 示例 1: 输入: root [3,1,4,null,2], k 1 3/ \1 4\2输出: 4 示例 2: 输入: root [5,3,6,2,4,null,null,1], k 3 5/ \3 6/ \2 4/1输出: 4 我的思路&#xff1a;纯暴力&#xff0c;遍历树得到所有节点&am…

【LeetCode算法系列题解】第16~20题

CONTENTS LeetCode 16. 最接近的三数之和&#xff08;中等&#xff09;LeetCode 17. 电话号码的字母组合&#xff08;中等&#xff09;LeetCode 18. 四数之和&#xff08;中等&#xff09;LeetCode 19. 删除链表的倒数第N个节点&#xff08;中等&#xff09;LeetCode 20. 有效的…

回溯算法初步

回溯算法初步深度优先搜索DFS相关概念算法框架-递归回溯回溯算法实现关键例题1-全排列例题2-n皇后问题深度优先搜索DFS 从问题某种可能情况出发&#xff0c;搜索所有能到达的可能情况&#xff0c;然后以其中一种可能的情况为新的出发点&#xff0c;继续向下探索&#xff0c;当所…

【思特奇杯·云上蓝桥-算法集训营】第2周

带分数 问题描述 100 可以表示为带分数的形式&#xff1a;100 3 69258 / 714。还可以表示为&#xff1a;100 82 3546 / 197。注意特征&#xff1a;带分数中&#xff0c;数字1~9分别出现且只出现一次&#xff08;不包含0&#xff09;。类似这样的带分数&#xff0c;100 有 1…

二分图判定 -- dfs、bfs

785. 判断二分图 class IsBipartite:"""判断二分图&#xff0c;dfs、bfs分别实现"""def __init__(self):self.success Trueself.color []self.visited []def dfs(self, graph):n len(graph)self.color [False] * nself.visited [False] *…

leetcode做题笔记124. 二叉树中的最大路径和

二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root &#xff0c…

递归算法学习——目标和,组合总和,字母大小写全排列

目录 一&#xff0c;目标和 1.题意 2.例子 3.题目接口 4.解题思路及代码 二&#xff0c;组合总和 1.题意 2.例子 3.题目接口 4.解题思路及代码 三&#xff0c;字母大小写全排列 1.题意 2.例子 3.题目接口 4.解题思路及代码 一&#xff0c;目标和 1.题意 给你一个…

(AcWing)没有上司的舞会

Ural 大学有 NN 名职员&#xff0c;编号为 1∼N。 他们的关系就像一棵以校长为根的树&#xff0c;父节点就是子节点的直接上司。 每个职员有一个快乐指数&#xff0c;用整数 Hi 给出&#xff0c;其中 1≤i≤N。 现在要召开一场周年庆宴会&#xff0c;不过&#xff0c;没有职…

每日一题:leetcode 1448 统计二叉树中好节点的数目

给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,3,null,1,5] 输出&#xff1a;4 解释&a…

关于dfs和bfs基本思想

dfs就是一个递归 简单模板: void dfs(int u) {// st[u] true;if(u > n){if(条件){输出}}//枚举for(int i 0; i < n; i ){if(!st[i]){dfs(i);}} } void dfs(int u) {st[u] true;cout << u;//先序遍历dfs(tree[u].l);dfs(tree[u].r) } void dfs(int u) {st[u] t…

Acwing 3472. 八皇后

题目如下&#xff1a; 会下国际象棋的人都很清楚&#xff1a;皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。 如何将 88 个皇后放在棋盘上&#xff08;有 88 个方格&#xff09;&#xff0c;使它们谁也不能被吃掉&#xff01; 这就是著名的八皇后问题。 对于某个满足要…

Leetcode129. 求根到叶子节点数字之和

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给你一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&#xff1a; 例如&#xff0c;从根节点到叶子节点的路径 1 ->…

【微服务的集成测试】python实现-附ChatGPT解析

1.题目 微服务的集成测试 知识点:深搜 时间限制: 1s 空间限制: 256MB 限定语言:不限 题目描述: 现在有n个容器服务,服务的启动可能有一定的依赖性 (有些服务启动没有依赖)其次服务自身启动加载会消耗一些时间。 给你一个 nxn 的二维矩阵 useTime,其中 useTime[i][i]=10 表示…

P1451 求细胞数量 题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 数据范围与提示思路及部分实现完整代码 题目描述 一矩形阵列由数字 0 0 0 到 9 9 9 组成&#xff0c;数字 1 1 1 到 9 9 9 代表细胞&#xff0c;细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞&#x…

数据结构栈 迷宫问题/dfs

题目 题目描述 给出一个N*N的迷宫矩阵示意图&#xff0c;从起点[0,0]出发&#xff0c;寻找路径到达终点[N-1, N-1] 要求使用堆栈对象来实现&#xff0c;具体算法参考课本3.2.4节51页 输入 第一行输入t&#xff0c;表示有t个迷宫 第二行输入n&#xff0c;表示第一个迷宫有n行n…

java实现课程表 II

题目&#xff1a; 现在你总共有 numCourses 门课需要选&#xff0c;记为 0 到 numCourses - 1。给你一个数组 prerequisites &#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示在选修课程 ai 前 必须 先选修 bi 。 例如&#xff0c;想要学习课程 0 &#xff0c;…

695. 岛屿的最大面积

给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&#xff09;包围着。 岛屿的面积是岛上值为 1 …

2120 -- 预警系统题解

Description OiersOiers 国的预警系统是一棵树&#xff0c;树中有 &#xfffd;n 个结点&#xff0c;编号 1∼&#xfffd;1∼n&#xff0c;树中每条边的长度均为 11。预警系统中只有一个预警信号发射站&#xff0c;就是树的根结点 11 号结点&#xff0c;其它 &#xfffd;−1…

最多的国家的同盟-dfs遍历

题干 若干国家组成多个同盟&#xff0c;你需要返回包含最多国家的联盟的国家数 输入说明 输入一行字符串&#xff0c;按照&#xff1b;分割&#xff0c;分割的子元素表示两个国家间是同盟关系&#xff0c;同盟关系具有传递性 输入 1,2;2,3;3,4输出 4输入 1,2;2,3;3,4;5,6;6…

图论第二天|岛屿数量.深搜版、岛屿数量.广搜版、岛屿的最大面积、1020.飞地的数量

岛屿数量.深搜版 文档讲解 &#xff1a;代码随想录 - 岛屿数量.深搜版 状态&#xff1a;开始学习。 本题是dfs模板题 本题代码&#xff1a; class Solution { private:int dir[4][2] {0, 1, 1, 0, -1, 0, 0, -1}; // 四个方向void dfs(vector<vector<char>>&…

无重复字符的最长子串[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给定一个字符串s&#xff0c;请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: …

图论第3天----第841题、第463题

# 图论第3天----第841题、第463题 文章目录 一、第841题--钥匙和房间二、第463题--岛屿的周长 ​ 又继续开始修行&#xff0c;把图论这块补上&#xff0c;估计要个5-6天时间。 一、第841题–钥匙和房间 ​ 有向图的遍历。dfs遍历3部曲做&#xff0c;思路也较顺----访问过的&a…

leetcode 332. Reconstruct Itinerary(重构行程)

有一些票tickets, tickets[ i ] [from, to], 每个出发到达城市名字都是3个大写英文字母&#xff0c; 同一个出发城市时&#xff0c;优先去字母顺序较小的到达城市。 必须先从“JFK”出发。 每个ticket必须用且只用一次&#xff0c;所有ticket一定会形成至少一个有效的行程&…

图论第三天|130. 被围绕的区域、417. 太平洋大西洋水流问题、827. 最大人工岛

130. 被围绕的区域 文档讲解 &#xff1a;代码随想录 - 130. 被围绕的区域 状态&#xff1a;开始学习。 思路&#xff1a; 步骤一&#xff1a; 深搜或者广搜将地图周边的 ‘O’ 全部改成 ’A’&#xff0c;如图所示&#xff1a; 步骤二&#xff1a; 再遍历地图&#xff0c;将 …

算法|图论 3

LeetCode 130- 被围绕的区域 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述&#xff1a;给你一个 m x n 的矩阵 board &#xff0c;由若干字符 X 和 O &#xff0c;找到所有被 X 围绕的区域&#xff0c;并将这些区域…

90. 子集 II

给你一个整数数组 nums &#xff0c;其中可能包含重复元素&#xff0c;请你返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。返回的解集中&#xff0c;子集可以按 任意顺序 排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,2] 输出…

2023-9-22 没有上司的舞会

题目链接&#xff1a;没有上司的舞会 #include <cstring> #include <iostream> #include <algorithm>using namespace std;const int N 6010;int n; int happy[N]; int h[N], e[N], ne[N], idx; bool has_father[N];// 两个状态&#xff0c;选该节点或不选该…

递归,搜索与回溯

1.汉诺塔问题 在经典汉诺塔问题中&#xff0c;有 3 根柱子及 N 个不同大小的穿孔圆盘&#xff0c;盘子可以滑入任意一根柱子。一开始&#xff0c;所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制: (1) 每次只能移动…

【算法笔记】LCR 086. 分割回文串

基本思想是使用回溯法&#xff0c;回溯法都可以将问题划分为一个解空间树&#xff1a;假设字符串s为"aab"&#xff0c;那么我们可以使用深度优先搜索去构建解空间树&#xff1a; dfs遍历出来的第一个序列是[a, a, b]&#xff0c;显然该序列都是回文子串&#xff0c;…

力扣第98题 验证二叉搜索树 c++ 与上一篇文章相似

题目 98. 验证二叉搜索树 中等 相关标签 树 深度优先搜索 二叉搜索树 二叉树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当…

栈实现深度优先搜索

引言 之前刚学DFS的时候并不完全理解为什么递归可以一直往下做&#xff0c;后来直到了递归的本质是栈&#xff0c;就想着能不能手写栈来代替递归呢。当时刚学&#xff0c;自己觉得水平不够就搁置了这个想法&#xff0c;今天上数据结构老师正好讲了栈的应用&#xff0c;其中就有…

代码随想录——图论一刷day02

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣695. 岛屿的最大面积二、力扣1020. 飞地的数量三、力扣1254. 统计封闭岛屿的数目 前言 一、力扣695. 岛屿的最大面积 淹没岛屿的递归 class Solution…

蓝桥杯双周赛算法心得——数树数(dfs)

大家好&#xff0c;我是晴天学长&#xff0c;一个简单的dfs思想&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。 1) .数树数 2) .算法思路 代码的主要逻辑是&#xff1a; 1.使用Scanner读取输入的整数n和q&#xff0c;其中n表示测试用例的数量&am…

P7537 [COCI2016-2017#4] Rima

由于题目涉及到后缀&#xff0c;不难想到用 trie 树处理。 将每个字符串翻转插入 trie&#xff0c;后缀就变成了前缀&#xff0c;方便处理。 条件 LCS ( A , B ) ≥ max ⁡ ( ∣ A ∣ , ∣ B ∣ ) − 1 \text{LCS}(A,B) \ge \max(|A|,|B|)-1 LCS(A,B)≥max(∣A∣,∣B∣)−1&…

【软考】9.4 图的概念/存储/遍历/最小生成树/拓扑/查找

《图》 图的存储&#xff08;顶点和边&#xff09; 邻接矩阵&#xff1a;适合边数较多的图&#xff0c;不易造成浪费无向图&#xff1a;不分方向&#xff1b;对称矩阵 邻接链表&#xff1a;顶点&#xff0c;边——>&#xff08;编号&#xff0c;权值&#xff09;&#xff1b…

最小覆盖子串[困难]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串&#xff0c;则返回空字符串"" 。 对于t中重复字符&#xff0c;我们寻找的子字符串中该字符数量必须不少于t中该字符数量…

C++算法:给表达式添加运算符

题目 给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target &#xff0c;在 num 的数字之间添加 二元 运算符&#xff08;不是一元&#xff09;、- 或 * &#xff0c;返回 所有 能够得到 target 的表达式。 注意&#xff0c;返回表达式中的操作数 不应该 包含前导零。…

子序列问题集合

子序列问题 最长公共子序列&#xff1a;最长上升子序列&#xff08;要输出序列&#xff0c;和最大长度&#xff09;1.dp2.贪心二分 导弹拦截 &#xff08;最长上升/下降子序列长度&#xff09; 最长公共子序列&#xff1a; class Solution { public://dfs(i,j)代表s串i前字符和…

【树上莫队C++】Count on Tree II(欧拉序降维,树链剖分求最近共同祖先LCA)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在算法竞赛学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载…

【LeetCode-简单题】513. 找树左下角的值

文章目录 题目方法一&#xff1a;DFS递归 前序遍历方法二&#xff1a;BFS层序双队列 题目 方法一&#xff1a;DFS递归 前序遍历 递归三部曲 确定递归函数参数和返回值确定递归结束条件编写常规递归体 本题只会在叶子结点才会去统计结果 也就是 root.leftnull&&root.r…

【高级数据结构C++】树的重心——教父POJ 3107(链式前向星的使用)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载…

轻重链剖分+启发式合并专题

Codeforces-741D(Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths) 一棵根为1 的树&#xff0c;每条边上有一个字符&#xff08;a-v共22种&#xff09;。 一条简单路径被称为Dokhtar-kosh当且仅当路径上的字符经过重新排序后可以变成一个回文串。 求每个子树中…

【ccf-csp题解】第0次csp认证-第五题-I‘m stuck!-题解

题目描述 思路讲解 总体步骤 第一步&#xff1a;从起点正向搜索&#xff0c;能到达的地方(x,y)&#xff0c;给st1[x][y]标记为true 第二步&#xff1a;从终点反向搜索&#xff0c;能到达的地方(x,y)&#xff0c;给st2[x][y]标记为true 第三步&#xff1a;设终点位置为&…

从零学算法(LCR 157)

某店铺将用于组成套餐的商品记作字符串 goods&#xff0c;其中 goods[i] 表示对应商品。请返回该套餐内所含商品的 全部排列方式 。 返回结果 无顺序要求&#xff0c;但不能含有重复的元素。 示例 1: 输入&#xff1a;goods “agew” 输出&#xff1a;[“aegw”,“aewg”,“ag…

深度优先搜索(dfs)--矩阵部分-leetcode以及常见题

介绍 深度优先搜索&#xff08;Depth-First Search&#xff0c;DFS&#xff09;是一种常用的图搜索算法&#xff0c;它用于查找图或树数据结构中的路径或解决问题。下面是深度优先搜索的常见步骤以及一个示例问题&#xff1a; 深度优先搜索的常见步骤&#xff1a; 选择起始节…

蓝桥杯 题库 简单 每日十题 day12

01 列名 问题描述 在Excel中&#xff0c;列的名称使用英文字母的组合。前26列用一个字母&#xff0c;依 次为A到Z&#xff0c;接下来2626列使用两个字母的组合&#xff0c;依次为AA到zz. 请问第2022列的名称是什么&#xff1f; 答案提交 这是一道结果填空的题&#xff0c;你只…

【代码随想录】dfs和bfs (所有可能的路径、岛屿数量)

所有可能的路径&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 class Solution { public:vector<int> path;vector<vector<int>> result;void dfs(vector<vector<int>> graph, int x){//1 确认递归函数…

2023-9-29 JZ33 二叉搜索树的后序遍历序列

题目链接&#xff1a;二叉搜索树的后序遍历序列 import java.util.*; public class Solution {int [] seq;public boolean VerifySquenceOfBST(int [] sequence) {if(sequence.length < 0) return false;this.seq sequence;return dfs(0, seq.length - 1);}public boolean …

飞机降落(dfs全排列)

4957. 飞机降落 - AcWing题库 数据量很小&#xff0c;直接爆搜 #include<bits/stdc.h> using namespace std; const int N20; int n,t,flag,st[N];//st记录是否已经降落&#xff0c;flag标记是否降落完成 struct Node {int t,d,l; }node[N]; void dfs(int u,int last)/…

863. 二叉树中所有距离为 K 的结点

863. 二叉树中所有距离为 K 的结点 C代码&#xff1a;dfs /*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/typedef struct {int key;struct TreeNode* node;UT_hash_handle hh; } HashTable;HashTable* head; int* ans…

练习 3C Tree

C. Infected Tree Problem - C - Codeforces 问题描述&#xff1a;一个二叉树&#xff0c;根节点被感染了&#xff0c;可以通过删除一个节点使这个树分成两个部分&#xff0c;从而使分离开的子树无法被感染&#xff0c;求这样操作&#xff0c;有最多多少个节点是未被感染的&a…

图 拓扑排序 leecode 207 Course Schedule

文章目录 207. Course ScheduleApproach 1 : DFS topological sortingApproach 2: BFS 207. Course Schedule https://leetcode.com/problems/course-schedule/ There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prerequisites…

[BJ2017.X5] 公交车

题目描述 D D D 市有 n n n 个公交车站和 m m m 条公交线路&#xff0c;公交车站的编号为从 1 1 1到 n n n 。每条公交线路会经过某些车站&#xff0c;如果两条公交线路有公共的公交车站&#xff0c;那么它们可以在公共车站相互换乘。比如线路 &#xff08; 1 , 2 , 3 , 9…

【C++】递归,搜索与回溯算法入门介绍和专题一讲解

个人主页&#xff1a;&#x1f35d;在肯德基吃麻辣烫 我的gitee&#xff1a;C仓库 个人专栏&#xff1a;C专栏 前言 从本文开始进入递归&#xff0c;搜索与回溯算法专题讲解。 文章目录 前言一、名词解释1、什么是递归&#xff1f;2、为什么会用到递归&#xff1f;3、如何理解…

图论-图的深度优先遍历-Java

回顾力扣144/94//145/102/589/590/429&#xff0c;熟练掌握递归和非递归写法。 图论不强调非递归。 使用邻接表 1个连通分量 Graph.java package Chapt02_DFS; import java.io.File; import java.io.IOException; import java.util.TreeSet; import java.util.Scanner;///…

二叉树层级遍历(深度优先、广度优先算法)

LeetCode 102 中等难度 方法一&#xff1a;广度优先搜索 思路和算法 我们可以用广度优先搜索解决这个问题。 我们可以想到最朴素的方法是用一个二元组 (node, level) 来表示状态&#xff0c;它表示某个节点和它所在的层数&#xff0c;每个新进队列的节点的 level 值都是父亲…

C++深搜例题代码加讲解

题目描述:给定一个二维数组,其中 0 表示陆地,1 表示水域,求有多少个岛屿(岛屿是由一块或多块相邻的陆地组成的,相邻指上下左右四个方向)。 输入: [ [1,1,0,0,0], [1,1,0,0,0], [0,0,1,0,0], [0,0,0,1,1] ] 输出: 3 #include <iostream> #include <vector> u…

P2308 添加括号,区间dp,dfs过程展示

P2308 添加括号 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目背景 给定一个正整数序列a(1)&#xff0c;a(2)&#xff0c;...&#xff0c;a(n),(1<n<20) 不改变序列中每个元素在序列中的位置&#xff0c;把它们相加&#xff0c;并用括号记每次加法所得的和&…

图的应用1.0-----最小生成树问题

目录 前言 生成树 1.基本概念 2.生成树的特点 3.生成树形成过程 最小生成树(Minimum Spanning Tree) 1.基本概念 2.构造方法&#xff08;MST&#xff09; 普里姆(Prime)算法 1.算法思想 2.代码实现 克鲁斯卡尔&#xff08;Kruskal&#xff09;算法 1.算法思想 2.代码…

NOIP2023模拟3联测24-博弈树

Alice \text{Alice} Alice 和 Bob \text{Bob} Bob 又开始玩游戏了&#xff0c;他们已经把石子堆得比山还高了&#xff0c;现在他们要玩一种更新奇的游戏&#xff0c;这种游戏的规则如下&#xff1a; 给定一颗 n n n 个节点的树&#xff0c; Alice \text{Alice} Alice 和 Bo…

C++基础算法⑥——信奥一本通递归算法(全排列、分解因数、菲波那契数列、Pell数列、爬楼梯、汉诺塔问题)

递归算法 1199&#xff1a;全排列1200&#xff1a;分解因数1201&#xff1a;菲波那契数列1202&#xff1a;Pell数列1204&#xff1a;爬楼梯1205&#xff1a;汉诺塔问题 1199&#xff1a;全排列 由题目可知&#xff0c;输入一个字符串&#xff0c;我们要对字符串进行所有可能的排…

35二叉树-树的最小深度

目录 LeetCode之路——111. 二叉树的最小深度 分析 解法一&#xff1a;广度优先查询 解法二&#xff1a;深度优先查询 LeetCode之路——111. 二叉树的最小深度 给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说…

【数据结构初阶】十、快速排序(比较排序)讲解和实现(三种递归快排版本 + 非递归快排版本 -- C语言实现)

相关代码gitee自取&#xff1a; C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 【数据结构初阶】九、排序的讲解和实现&#xff08;直接插入 \ 希尔 \ 直接选择 \ 堆 \ 冒泡 -- C语言&#xff09;-CSDN博客 常见排序算法的实现&#xff08;续上期&#xff09; …

【蓝桥每日一题]-前缀和与差分(保姆级教程 篇2)#差分序列

昨天讲的概念和模板&#xff0c;今天讲一个差分序列的好题(好好体会里面的优化思想)&#xff1a; 目录 题目&#xff1a; 思路&#xff1a; 题目&#xff1a; 手动打出样例哈 输入&#xff1a; 输出&#xff1a; 4 …

数据结构和算法(7):图应用

双连通分量&#xff1a;判定准则 考查无向图G。若删除顶点v后G所包含的连通域增多&#xff0c;则v称作切割节点或关节点。 不含任何关节点的图称作双连通图。 任一无向图都可视作由若干个极大的双连通子图组合而成&#xff0c;这样的每一子图都称作原图的一个双连通域。 如何…

编程题【bzcz】

编程题【bzcz】 二叉树二叉树的前序遍历&#xff08;非递归&#xff09;二叉树的中序遍历&#xff08;非递归&#xff09;二叉树的后序遍历&#xff08;非递归&#xff09;前序和中序构建二叉树中序和后续构建二叉树前序和后续构建二叉树二叉树的最大深度二叉树的直径平衡二叉树…

高阶数据结构学习 —— 图(2)

文章目录 1、BFS1、DFS 1、BFS 广度优先。确定从哪个点开始&#xff0c;然后用队列来完成遍历。拿出一个点就把和这个点相连的其它点放进去&#xff0c;但是这样前面放进过队列的也有可能被再次放入&#xff0c;所以需要做好标记。一个队列&#xff0c;一个标记容器。在邻接矩…

二叉树题目合集(C++)

二叉树题目合集 1.二叉树创建字符串&#xff08;简单&#xff09;2.二叉树的分层遍历&#xff08;中等&#xff09;3.二叉树的最近公共祖先&#xff08;中等&#xff09;4.二叉树搜索树转换成排序双向链表&#xff08;中等&#xff09;5.根据树的前序遍历与中序遍历构造二叉树&…

Leetcode—78.子集【中等】

2023每日刷题&#xff08;五十九&#xff09; Leetcode—78.子集 算法思想 实现代码 class Solution { public:vector<vector<int>> subsets(vector<int>& nums) {int len nums.size();vector<int> path;vector<vector<int>> ans;f…

寻路算法-

图的寻路算法也可以通过深度优先遍历 dfs 实现&#xff0c;寻找图 graph 从起始 s 点到其他点的路径&#xff0c;在上一小节的实现类中添加全局变量 from数组记录路径&#xff0c;from[i] 表示查找的路径上i的上一个节点。 首先构造函数初始化寻路算法的初始条件&#xff0c;f…

【算法每日一练]-单调队列(保姆级教程 篇2)#琪露诺 #选数游戏 #寻找段落

最后一期单调队列了啊 目录 题目&#xff1a;琪露诺 思路&#xff1a; 题目&#xff1a;选数游戏 思路&#xff1a; 题目&#xff1a;寻找段落 思路&#xff1a; 之前做的都是连续的长度区间求最值&#xff0c;今天体验一下不连续的区间。 然后就是要注意维护单调队列时…

【算法】距离(最近公共祖先节点)

题目 给出 n 个点的一棵树&#xff0c;多次询问两点之间的最短距离。 注意&#xff1a; 边是无向的。所有节点的编号是 1,2,…,n。 输入格式 第一行为两个整数 n 和 m。n 表示点数&#xff0c;m 表示询问次数&#xff1b; 下来 n−1 行&#xff0c;每行三个整数 x,y,k&am…

面试算法50:向下的路径节点值之和

题目 给定一棵二叉树和一个值sum&#xff0c;求二叉树中节点值之和等于sum的路径的数目。路径的定义为二叉树中顺着指向子节点的指针向下移动所经过的节点&#xff0c;但不一定从根节点开始&#xff0c;也不一定到叶节点结束。例如&#xff0c;在如图8.5所示中的二叉树中有两条…

【洛谷 P1101】单词方阵 题解(深度优先搜索)

单词方阵 题目描述 给一 n n n \times n nn 的字母方阵&#xff0c;内可能蕴含多个 yizhong 单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 8 8 8 个方向的任一方向&#xff0c;同一单词摆放时不再改变方向&#xff0c;单词与单词之间可以交叉&#xff0c;因此…

第2关:图的深度优先遍历

任务要求参考答案评论2 任务描述相关知识编程要求测试说明 任务描述 本关任务&#xff1a;以邻接矩阵存储图&#xff0c;要求编写程序实现图的深度优先遍历。 相关知识 图的深度优先遍历类似于树的先序遍历, 是树的先序遍历的推广&#xff0c;其基本思想如下&#xff1a; …

第1关:图的邻接矩阵存储及求邻接点操作

任务要求参考答案评论2 任务描述相关知识 顶点集合边集合编程要求测试说明 任务描述 本关任务&#xff1a;要求从文件输入顶点和边数据&#xff0c;包括顶点信息、边、权值等&#xff0c;编写程序实现以下功能。 1&#xff09;构造无向网G的邻接矩阵和顶点集&#xff0c;即图…

第2关:图的深度遍历

任务要求参考答案评论2 任务描述相关知识编程要求测试说明 任务描述 本关任务&#xff1a;以邻接表存储图&#xff0c;要求编写程序实现图的深度优先遍历。 相关知识 图的深度优先遍历类似于树的先序遍历, 是树的先序遍历的推广&#xff0c;其基本思想如下&#xff1a; 访…

pat实现基于邻接表表示的深度优先遍历[含非递归写法]

文章目录 1.递归2.非递归 1.递归 void DFS(ALGraph G, int v) {visited[v] 1;printf("%c ", G.vertices[v].data);for (ArcNode* cur G.vertices[v].firstarc; cur ! nullptr; cur cur->nextarc){if (!visited[cur->adjvex])DFS(G, cur->adjvex);} }2.非…

【数据结构实验】图(三)图的深度优先搜索(DFS)生成树

文章目录 1. 引言2. 深度优先搜索生成树3. 实验内容3.1 实验题目&#xff08;一&#xff09;输入要求&#xff08;二&#xff09;输出要求 3.2 算法实现1. 数据结构2. 队列操作函数3. 广度优先搜索遍历4. 创建图5. 深度优先搜索算法6. 主函数及DFS主函数7. 输出生成树信息 3.3 …

剑指offer——JZ34 二叉树中和为某一值的路径(二) 解题思路与具体代码【C++】

一、题目描述与要求 二叉树中和为某一值的路径(二)_牛客题霸_牛客网 (nowcoder.com) 题目描述 输入一颗二叉树的根节点root和一个整数expectNumber&#xff0c;找出二叉树中结点值的和为expectNumber的所有路径。 1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过…

FloodFill

"绝境之中才窥见&#xff0c;Winner&#xff0c;Winner" FloodFill算法简介: floodfill又翻译成漫水填充。我们可以将下面的矩阵理解为一片具有一定高度的坡地&#xff0c;此时突发洪水&#xff0c;洪水会将高度<0的地方填满。 话句话来说&#xff0c;Fl…

基于C++实现水仙花数

1、水仙花数的连营 1.1、水仙花数 在学习程序设计课程时&#xff0c;大多数读者一定采用循环结构编写过求解水仙花数的程序。 【实例 1-1】水仙花数 一个三位整数&#xff08;100&#xff5e;999&#xff09;&#xff0c;若各位数的立方和等于该数自身&#xff0c;则称其为“…

【算法】bfs与dfs算法解决FloodFill问题(C++)

文章目录 1. 什么是FloodFill问题2. 用什么方法解决FloodFill问题3. 具体例题[733. 图像渲染](https://leetcode.cn/problems/flood-fill/description/)[200. 岛屿数量](https://leetcode.cn/problems/number-of-islands/description/)[695. 岛屿的最大面积](https://leetcode.…

电子学会C/C++编程等级考试2021年12月(三级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:我家的门牌号 我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。 若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。 数据保证有唯一解。 时间限制:1000 内存限制:65536输入 一个…

数据结构相关--面试和笔试高频

数据结构 面试 数组和链表的区别&#xff0c;有什么可以结合二者的优势 数组&#xff1a;存放在连续内存空间上的相同类型数据的集合 链表&#xff1a;通过指针串联在一起的线性结构&#xff0c;每一个节点由两部分组成&#xff0c;一个是数据域一个是指针域&#xff08;存…

数据结构图代码

图抽象数据类型 ADT Graph {数据对象&#xff1a;D{ai | 1<i<n, n>0, ai为ElemType类型&#xff1b;}数据关系&#xff1a;R {<ai,aj> | ai,aj属于D, 1 < i,j < n, 其中每个元素可以有零个或多个前驱元素&#xff0c;可以有0个或多个后继元素; }基本运算…

C# IList 与List区别二叉树的层序遍历

IList 接口&#xff1a; IList 是一个接口&#xff0c;定义了一种有序集合的通用 API。继承自 ICollection 接口和IEnumerable<T>&#xff0c;是所有泛型列表的基接&#xff0c;口它提供了对列表中元素的基本操作&#xff0c;如添加、删除、索引访问等。IList 不是一个具…

【打卡】牛客网:BM60 括号生成

资料&#xff1a; size()//获取字符串长度 insert()//插入字符串 append()//插入字符串 erase()//删除任意字符&#xff0c;时间复杂度O(n)&#xff0c;n为字符串长度 substr()//截取字符字串 back()//获取最后一个字符 pop_back()//删除最后一个字符&#xff0c;时间复杂度O(1…

腐烂的橘子 -- DFS、BFS

994. 腐烂的橘子 class OrangesRotting:"""994. 腐烂的橘子https://leetcode.cn/problems/rotting-oranges/description/"""def solution(self, grid: List[List[int]]) -> int:"""BFS时间复杂度 O(M*N)空间复杂度 O(M*N):par…

算法设计与分析第五章作业

用回溯法分析“最小重量机器设计问题” 代码 #include<bits/stdc.h>using namespace std;const int N1010; int n,m,d; int w[N][N],c[N][N]; int x[N],bestx[N]; int cw,cm; int bestw0x3f3f3f3f;void dfs(int u) {if(u>n){if(cw<bestw){bestwcw;for(int i1;i&l…

dfs图遍历 LeetCode1466. 重新规划路线

n 座城市&#xff0c;从 0 到 n-1 编号&#xff0c;其间共有 n-1 条路线。因此&#xff0c;要想在两座不同城市之间旅行只有唯一一条路线可供选择&#xff08;路线网形成一颗树&#xff09;。去年&#xff0c;交通运输部决定重新规划路线&#xff0c;以改变交通拥堵的状况。 路…

LeetCode:1466. 重新规划路线(DFS C++、Java)

目录 1466. 重新规划路线 题目描述&#xff1a; 实现代码与解析&#xff1a; DFS 原理思路&#xff1a; 1466. 重新规划路线 题目描述&#xff1a; n 座城市&#xff0c;从 0 到 n-1 编号&#xff0c;其间共有 n-1 条路线。因此&#xff0c;要想在两座不同城市之间旅行只有…

【算法】P1010 [NOIP1998 普及组] 幂次方 解题代码

dfs记忆化搜索没什么可说的 #include <iostream> #include <cstring> #include <string> #include <algorithm> #include <unordered_map> #include <vector> #define endl \nusing namespace std;unordered_map<int, string> mp;i…

回溯法(1)--装载问题和0-1背包

一、回溯法 回溯法采用DFS&#xff0b;剪枝的方式&#xff0c;通过剪枝删掉不满足条件的树&#xff0c;提高本身作为穷举搜索的效率。 回溯法一般有子集树和排列树两种方式&#xff0c;下面的装载问题和01背包问题属于子集树的范畴。 解空间类型&#xff1a; 子集树&#xff1…

【笔试真题记录】2023华为9.20机试第二题(DFS和BFS)

题目&#xff1a; 班级组织传球活动&#xff0c;男女同学随机排成m行n列队伍&#xff0c;第一列中的任意一个男同学都可以作为传球的起点&#xff0c;要求最终将球传到最后一列的任意一个男同学手里&#xff0c;求所有能够完成任务的传球路线中的最优路线(传球次数最少的路线)的…

【Acwing170】加成序列(dfs+迭代加深+剪枝)题解和一点感想

本思路来自acwing算法提高课 题目描述 看本文需要准备的知识 1.dfs算法基本思想 2.对剪枝这个词有个简单的认识 迭代加深思想和此题分析 首先&#xff0c;什么是迭代加深呢&#xff1f;当一个问题的解有很大概率出现在递归树很浅的层&#xff0c;但是这个问题的解本身存在…

【算法】染色法判定二分图

题目 给定一个 n 个点 m 条边的无向图&#xff0c;图中可能存在重边和自环。 请你判断这个图是否是二分图。 输入格式 第一行包含两个整数 n 和 m。 接下来 m 行&#xff0c;每行包含两个整数 u 和 v&#xff0c;表示点 u 和点 v 之间存在一条边。 输出格式 如果给定图是二分…

AcWing94. 递归实现排列型枚举:输出1~n的全排列

题目 把 1∼ n n n 这 n n n 个整数排成一行后随机打乱顺序&#xff0c;输出所有可能的次序。 输入格式 一个整数 n n n。 输出格式 按照从小到大的顺序输出所有方案&#xff0c;每行 1 个。 首先&#xff0c;同一行相邻两个数用一个空格隔开。 其次&#xff0c;对于两…

【LeetCode 算法专题突破】二叉树的深度优先遍历(⭐)

文章目录 前言1. 二叉树的前序遍历题目描述代码 2. 二叉树的中序遍历题目描述代码 3. 二叉树的后序遍历题目描述代码 4. 前序遍历的非递归实现代码与思路 5. 中序遍历的非递归实现代码与思路 6. 后序遍历的非递归实现代码与思路 总结 前言 接下来我要开始攻克二叉树这一个大难…

旋转图像[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给定一个n n的二维矩阵matrix表示一个图像。请你将图像顺时针旋转90度。你必须在原地旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#xff1a; matrix…

Java中数据结构(基本数据类型+引用数据类型)介绍+整理+例子+对比

一、Java数据类型分类 在Java中&#xff0c;数据类型可以分为两大类&#xff1a;内置数据类型&#xff08;Primitive Data Types&#xff09;和引用数据类型&#xff08;Reference Data Types&#xff09;。 **内置数据类型&#xff08;Primitive Data Types&#xff09;**是…

2022 China Collegiate Programming Contest (CCPC) Mianyang Onsite C G H M

Dashboard - 2022 China Collegiate Programming Contest (CCPC) Mianyang Onsite - Codeforces C. Catch You Catch Me 从1的儿子结点开始求深度即可。 void solve() {int n; cin>>n;vector<vector<int>> g(n 1);for(int i 2; i < n; i) {int u,v; …

树形Dp 2925. 在树上执行操作以后得到的最大分数

2925. 在树上执行操作以后得到的最大分数 两次DFS class Solution { public:// 节点状态有两种&#xff0c;选和不选&#xff0c;// dp(u, fa, 0) 不选u 节点&#xff0c;其他节点都可以选&#xff0c;值为以u为根的子树的所有节点的和- 根节点的值。// dp(u, fa, 1) 选u节点&…

蓝桥杯双周赛算法心得——串门(双链表数组+双dfs)

大家好&#xff0c;我是晴天学长&#xff0c;树和dfs的结合&#xff0c;其邻接表的存图方法也很重要。需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1) .串门 2) .算法思路 串门&#xff08;怎么存图很关键&#xf…

基于深度优先搜索的图遍历

这里写目录标题 基于深度优先搜索的无向图遍历算法流程图Python实现Java实现 基于深度优先搜索的有向图遍历Python实现 基于深度优先搜索的无向图遍历 使用深度优先搜索遍历无向图&#xff0c;将无向图用邻接表存储&#xff1a; 算法流程图 初始化起点 source&#xff0c;当…

【链接装载与库】动态链接(下)

动态链接 》上篇《 延迟绑定 (PLT) 动态链接的确有很多优势&#xff0c;比静态链接要灵活得多&#xff0c;但它是以牺牲一部分性能为代价的。主要原因是动态链接下对于全局和静态的数据访问都要进行复杂的GOT定位&#xff0c;然后间接寻址&#xff1b;对于模块间的调用也要先…

算法:穷举,暴搜,深搜,回溯,剪枝

文章目录 算法基本思路例题全排列子集全排列II电话号码和字母组合括号生成组合目标和组合总和优美的排列N皇后有效的数独解数独单词搜索黄金矿工不同路径III 总结 算法基本思路 穷举–枚举 画出决策树设计代码 在设计代码的过程中&#xff0c;重点要关心到全局变量&#xff…

大厂秋招真题【模拟】阿里蚂蚁20231010秋招T2-奇偶操作

题目描述与示例 题目描述 小红有一个长度为n的数组a&#xff0c;她将对数组进行m次操作&#xff0c;每次操作有两种类型&#xff1a; 将数组中所有值为奇数的元素加上x将数组中所有值为偶数的元素加上x 请你输出m次操作后的数组 输入描述 第一行两个整数n和m&#xff0c;…

【蓝桥每日一题]-快速幂,倍增,滑动窗口(保姆级教程 篇1) #麦森数 #青蛙跳

之前是考试准备&#xff0c;所以有几天没更新&#xff0c;今天开始继续更新 目录 快速幂模板 题目&#xff1a;麦森数 思路&#xff1a; 题目&#xff1a;青蛙跳 思路&#xff1a; 快速幂模板 #include <bits/stdc.h> #define ll long long using namespa…

图论15-有向图-环检测+度数+欧拉回路

文章目录 1. 有向图设计1.1 私有变量标记是否有向1.2 添加边的处理&#xff0c;双向变单向1.3 删除边的处理&#xff0c;双向变单向1.4 有向图的出度和入度 2 有向图的环检测2.1 普通的算法实现换检测2.2 拓扑排序中的环检测 3 欧拉回路 1. 有向图设计 1.1 私有变量标记是否有…

力扣第797题 所有可能的路径 C++ 深度优先搜索 +java

题目 797. 所有可能的路径 中等 相关标签 深度优先搜索 广度优先搜索 图 回溯 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从…

《洛谷深入浅出基础篇》P3916 图的遍历——逆向搜索

上链接&#xff1a; P3916 图的遍历 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3916上题干&#xff1a; 题目描述 给出 N 个点&#xff0c;M 条边的有向图&#xff0c;对于每个点 v&#xff0c;求 A(v) 表示从点 v 出发&#xff0c;能到…

洛谷 P3252 [JLOI2012] 树

读题就读趋势了&#xff0c;还以为是每个深度都可以选一个&#xff0c;然后深度升序就可以了&#xff0c;以为是个按深度的01背包。 但是前面还说了是一条路径&#xff0c;路径是不能断开的。那就从每个点开始爆搜一次就好了。 看了一下范围n<1e5&#xff0c;n^2爆搜理论上…

力扣第463题 岛屿的周长 C++ 深度优先搜索 + 思维判断的边界

题目 463. 岛屿的周长 简单 相关标签 深度优先搜索 广度优先搜索 数组 矩阵 给定一个 row x col 的二维网格地图 grid &#xff0c;其中&#xff1a;grid[i][j] 1 表示陆地&#xff0c; grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连&#xff08;对角线…

C语言分支限界法求解01背包问题

分支限界法是一种求解优化问题的算法&#xff0c;针对01背包问题&#xff0c;它可以通过在搜索过程中剪枝&#xff0c;减少搜索空间的大小&#xff0c;提高算法的效率。 具体来说&#xff0c;分支限界法会将当前状态下的可行解集合分成若干个子集&#xff0c;每个子集代表一条…

图的建立基本操作

#include <stdio.h> #include <stdlib.h> #include <stdbool.h> // 添加头文件#define MAX_VERTEX_NUM 100 //图中最大顶点数//struct ArcNode* nextarc; //ArcNode* firstarc; //这两个是很有必要的&#xff0c;如果你没有这两个指针&#xff0c;你就无法判…

leetcode刷题:17.电话号码的字母组合

leetcode原题网页 题目描述&#xff1a;给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 思路&#xff1a;使用vector&#x…

力扣113. 路径总和 II(Java,DFS解法)

Problem: 113. 路径总和 II 文章目录 题目描述思路解题方法复杂度代码实现细节处Code 题目描述 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 思路 题目要…

LeetCode 1457. 二叉树中的伪回文路径||位运算 DFS

1457. 二叉树中的伪回文路径 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的所有节点值的排列中&#xff0c;存在一个回文序列。 请你返回从根到叶子节点的所有路径中 伪回文 路径的…

换根DP模板

给你一个无根树&#xff0c;问你以哪个节点为根节点的时候得到所有点的深度之和最大 《贴一张 知乎大佬的一个解释》 #include<bits/stdc.h> using namespace std; const int N 2e610; using ll long long; ll dep[N],sz[N]; ll ans[N]; vector<int>g[N]; int n;…

【LeetCode:1466. 重新规划路线 | DFS + 图 + 树】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

对无向图进行邻接矩阵的转化,并且利用DFS(深度优先)和BFS(广度优先)算法进行遍历输出, 在邻接矩阵存储结构上,完成最小生成树的操作。

一 实验目的 1&#xff0e;掌握图的相关概念。 2&#xff0e;掌握用邻接矩阵和邻接表的方法描述图的存储结构。 3&#xff0e;掌握图的深度优先搜索和广度优先搜索遍历的方法及其计算机的实现。 4&#xff0e;理解最小生成树的有关算法 二 实验内容及要求 实验内容&#…

反转链表 --- 递归回溯算法练习三

目录 1. 分析题意 2. 分析算法原理 2.1. 递归思路&#xff1a; 1. 挖掘子问题&#xff1a; 3. 编写代码 3.1. step 1&#xff1a; 3.2. step 2&#xff1a; 3.3. step 3&#xff1a; 3.4. 递归代码&#xff1a; 1. 分析题意 力扣原题链接如下&#xff1a; 206. 反转链…

DFS、BFS求解leetcode图像渲染问题(Java)

目录 leetcode733题.图像渲染 DFS BFS leetcode733题.图像渲染 733. 图像渲染 - 力扣&#xff08;LeetCode&#xff09; 有一幅以 m x n 的二维整数数组表示的图画 image &#xff0c;其中 image[i][j] 表示该图画的像素值大小。 你也被给予三个整数 sr , sc 和 newColor …

【数据结构(十二·图)】图的相关知识(包括深度优先遍历和广度优先遍历)

文章目录 1. 图的基本介绍1.1. 图的举例说明1.2. 图的常用概念 2. 图的表示方式2.1. 邻接矩阵2.2. 邻接表 3. 应用案例4. 图的遍历4.1. 深度优先遍历4.1.1. 基本思想4.1.2. 算法步骤4.1.3. 代码实现 4.2. 广度优先遍历4.2.1. 基本思想4.2.2. 算法步骤4.2.3. 代码实现 4.3. 图的…

Leetcode—783.二叉搜索树节点最小距离【简单】

2023每日刷题&#xff08;五十八&#xff09; Leetcode—783.二叉搜索树节点最小距离 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ void dfs(struct TreeNode* roo…

Flink 流处理流程 API详解

流处理API的衍变 Storm&#xff1a;TopologyBuilder构建图的工具&#xff0c;然后往图中添加节点&#xff0c;指定节点与节点之间的有向边是什么。构建完成后就可以将这个图提交到远程的集群或者本地的集群运行。 Flink&#xff1a;不同之处是面向数据本身的&#xff0c;会把D…

力扣labuladong——一刷day75

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣200. 岛屿数量&#xff08;广搜&#xff09;二、力扣200. 岛屿数量&#xff08;深搜&#xff09; 前言 图论&#xff0c;深搜还有广搜都只是手段 一、…

【专题】最小生成树(prim算法、kruscal算法)

目录 一、最小生成树二、Prim算法1. 算法思想2. 例题3. 性能分析 三、Kruscal算法1. 算法思想2. 例题3. 性能分析 一、最小生成树 生成树中边的权值&#xff08;代价&#xff09;之和最小的树。 二、Prim算法 1. 算法思想 设N(V,{E})是连通网&#xff0c;TE是N上最小生成树…

P2392 kkksc03考前临时抱佛脚

上题干&#xff1a; 题目背景 kkksc03 的大学生活非常的颓废&#xff0c;平时根本不学习。但是&#xff0c;临近期末考试&#xff0c;他必须要开始抱佛脚&#xff0c;以求不挂科。 题目描述 这次期末考试&#xff0c;kkksc03 需要考 4 科。因此要开始刷习题集&#xff0c;每科都…

蓝桥杯第100 题 九宫幻方 DFS 全排列 C++ 解题思维

题目 九宫幻方https://www.lanqiao.cn/problems/100/learning/?page1&first_category_id1&name%E4%B9%9D 思路和解题方法 一 &#xff08;DFS) 首先&#xff0c;定义了一些全局变量和数组。vis数组用于标记已经出现过的数字&#xff0c;a数组用于存储数独的初始状态…

leetCode 841. 钥匙和房间 图遍历 深度优先遍历+广度优先遍历 + 图解

841. 钥匙和房间 - 力扣&#xff08;LeetCode&#xff09; 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而&#xff0c;你不能在没有获得钥匙的时候进入锁住的房间。当你进入一个房…

算法刷题-二叉树

算法刷题-二叉树 144. 二叉树的前序遍历 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 思路 前序遍历&#xff1a;中左右 使用栈的时候要注意&#xff1a;先放右儿子&#xff0c;再放左儿子&#xff0c;再放中间&#xff0c;这样可以保证出栈的时候&am…

代码随想录图论 第四天| 827.最大人工岛 127. 单词接龙

代码随想录图论 第四天 | 827.最大人工岛 127. 单词接龙 一、827.最大人工岛 题目链接&#xff1a;https://leetcode.cn/problems/making-a-large-island/ 思路&#xff1a; class Solution {int[][] position {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};int dfs(int[][] grid, i…

面试算法48:序列化和反序列化二叉树

题目 请设计一个算法将二叉树序列化成一个字符串&#xff0c;并能将该字符串反序列化出原来二叉树的算法。 分析 先考虑如何将二叉树序列化为一个字符串。需要逐个遍历二叉树的每个节点&#xff0c;每遍历到一个节点就将节点的值序列化到字符串中。以前序遍历的顺序遍历二叉…

5G-DFS最新动态-产品不在需要走FCC官方测试

添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 最近&#xff0c;FCC公布了最新版本的PAG&#xff08;Product Acceptance Group&#xff09;清单&#xff0c;即388624 D02 Pre-Approval Guidance List v18r04。这个清单的主要改变是将带有雷达侦测功能的…

acwing算法基础之搜索与图论--染色法判断二分图

目录 1 基础知识2 模板3 工程化 1 基础知识 二分图&#xff1a;每条边连接的起点和终点&#xff0c;分别属于集合A和集合B。 一个图是二分图&#xff0c;当且仅当&#xff0c;图中不含奇数环&#xff08;即&#xff0c;回环中的结点数目是奇数&#xff09;。 染色法判定二分…

【教3妹学编程-算法题】重新排列后包含指定子字符串的字符串数目

3妹&#xff1a;1 8得8&#xff0c;2 816&#xff0c; 3 8妇女节… 2哥 : 3妹&#xff0c;在干嘛呢 3妹&#xff1a;双11不是过了嘛&#xff0c; 我看看我这个双十一买了多少钱&#xff0c; 省了多少钱。 2哥 : 我可是一分钱没买。 3妹&#xff1a;我买了不少东西&#xff0c; …

聊聊leetcode可包含重复数字的序列的《47. 全排列 II》中的vis标记函数

1 题目描述&#xff08;字节二面题目&#xff09; 2 代码 class Solution {List<List<Integer>>res;List<Integer>list;boolean[]used;public List<List<Integer>> permuteUnique(int[] nums) {resnew ArrayList<>();listnew ArrayList&l…

【算法每日一练]-图论(保姆级教程 篇1(模板篇)) #floyed算法 #dijkstra算法 #spfa算法

今天开始讲图论 目录 图的存储 算任意两点的最短路径: floyed算法&#xff1a; 算一个点到其他所有点的最短距离 dijkstra算法: spfa算法&#xff1a; 图的存储 其实&#xff1a;邻接矩阵和链式向前星都能存边的信息&#xff0c;vector只能存点的信息&#xff0c;再搭配上v[]…

92 [递归实现指数型枚举](https://www.acwing.com/problem/content/94/)

从 1∼n1∼&#xfffd; 这 n&#xfffd; 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。 输入格式 输入一个整数 n&#xfffd;。 输出格式 每行输出一种方案。 同一行内的数必须升序排列&#xff0c;相邻两个数用恰好 11 个空格隔开。 对于没有选任何…

普通二叉树和右倾斜二叉树--LeetCode 111题《Minimum Depth of Binary Tree》

本文将以解释计算二叉树的最小深度的思路为例&#xff0c;致力于用简洁易懂的语言详细描述普通二叉树和右倾斜二叉树在计算最小深度时的区别。通过跟随作者了解右倾斜二叉树的概念以及其最小深度计算过程&#xff0c;读者也将对左倾斜二叉树有更深入的了解。这将为解决LeetCode…

【LeetCode: 2415. 反转二叉树的奇数层 | BFS + DFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

算法基础之染色法判定二分图

染色法判定二分图 核心思想&#xff1a; 二分图 : 当且仅当图中不含有奇数环(环中边的数量为奇数) 染色法 : 从原点开始染色 1 / 2 当冲突时即含有奇数环 #include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N 10…

力扣labuladong——一刷day76

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣797. 所有可能的路径二、力扣277.搜寻名人 前言 图这种数据结构有一些比较特殊的算法&#xff0c;比如二分图判断&#xff0c;有环图无环图的判断&…

Tarjan-vDCC,点双连通分量,点双连通分量缩点

前言 双连通分量是无向图中的一个概念&#xff0c;它是指无向图中的一个极大子图&#xff0c;根据限制条件可以分为边双连通分量和点双连通分量&#xff0c;欲了解双连通分量需先了解Tarjan算法&#xff0c;以及割点割边的概念及求解。本篇博客介绍点双连通分量的相关内容。 前…

166. 数独(DFS之剪枝与优化:位运算优化,优化搜索顺序,.可行性剪枝)

166. 数独 - AcWing题库 数独 是一种传统益智游戏&#xff0c;你需要把一个99 的数独补充完整&#xff0c;使得数独中每行、每列、每个 33 的九宫格内数字 1∼9 均恰好出现一次。 请编写一个程序填写数独。 输入格式 输入包含多组测试用例。 每个测试用例占一行&#xff0…

DFS与BFS算法总结

知识概览 DFS、BFS都可以对整个问题空间进行搜索&#xff0c;搜索的结构都是像一棵树。DFS会尽可能往深搜&#xff0c;当搜索到叶节点时就会回溯。而BFS每一次只会扩展一层。 DFS与BFS的区别&#xff1a; 搜索方式数据结构空间复杂度性质DFS栈O(h)&#xff0c;其中h为搜索空间…

[DFS深度优先搜索]集合里的乘法

集合里的乘法 题目描述 给定一个目标数T和一个整数集合S&#xff0c;判断是否存在S的一个非空子集&#xff0c;子集中的数相乘的积为T。 关于输入 输入为两行。 第一行为目标数T&#xff0c;和S中的元素个数N&#xff0c;以空格隔开。 第二行为S中的N个元素&#xff0c;以空…

如何判断一个题目用“贪心/动态规划“还是用“BFS/DFS”方法解决

1 总结 1.1 贪心、动态规划和BFS/DFS题解的关系 一般能使用贪心、动态规划解决一个问题时&#xff0c;使用BFS&#xff0c;DFS也能解决这个题&#xff0c;但是反之不能成立。 1.2 2 贪心 -> BFS/DFS 2.1 跳跃游戏1和3的异同 这两道题&#xff0c;“跳跃游戏”&#xf…

【经典LeetCode算法题目专栏分类】【第9期】深度优先搜索DFS与并查集:括号生成、岛屿问题、扫雷游戏

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推荐--…

80 BFS和DFS两种方式解岛屿数量

问题描述&#xff1a;给你一个由1(陆地)和0(水)组成的二维网格&#xff0c;请你计算网格中岛屿的数量&#xff0c;请你计算岛屿的数量&#xff0c;岛屿总被水包围&#xff0c;并且每座岛屿只能由水平方向和竖直方向上相邻的陆地连接而成&#xff0c;并可以假设改网格的四条边均…

72 DFS解决目标和问题

问题描述&#xff1a;给你一个整数数组和一个整数target。 向数组中每个整数前添加或-,然后串联起所有整数&#xff0c;返回通过该种方法串联其所有的整数并且计算结果等于target的不同表达式的个数。 dfs求解&#xff1a;每次选择可以有选或不选两种&#xff0c;最多进行num…

最小DFS序

时间限制&#xff1a;1秒 内存限制&#xff1a;128M 题目描述 一般来讲&#xff0c;我们在对树进行深度优先遍历时&#xff0c;对于每个节点&#xff0c;在刚进入递归后以及即将回溯前各记录一次该节点的编号&#xff0c;最后产生一个长度为2n的节点的序列就称为树的D…

698. 划分为k个相等的子集(记忆化搜索+状态压缩)

Problem: 698. 划分为k个相等的子集 给定一个整数数组 nums 和一个正整数 k&#xff0c;找出是否有可能把这个数组分成 k 个非空子集&#xff0c;其总和都相等。 示例 1&#xff1a; 输入&#xff1a; nums [4, 3, 2, 3, 5, 2, 1], k 4 输出&#xff1a; True 说明&#xff…

力扣第200题 岛屿数量 C++ dfs bfs 深搜和广搜 附Java代码

题目 200. 岛屿数量 中等 相关标签 深度优先搜索 广度优先搜索 并查集 数组 矩阵 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只…

【算法】复习搜索与图论

&#x1f34e; 博客主页&#xff1a;&#x1f319;披星戴月的贾维斯 &#x1f34e; 欢迎关注&#xff1a;&#x1f44d;点赞&#x1f343;收藏&#x1f525;留言 &#x1f347;系列专栏&#xff1a;&#x1f319; 蓝桥杯 &#x1f319;请不要相信胜利就像山坡上的蒲公英一样唾手…

力扣104. 二叉树的最大深度(java,DFS,BFS解法)

Problem: 104. 二叉树的最大深度 文章目录 思路和解法复杂度Code 思路和解法 DFS 递归处理&#xff0c;退出条件为节点为空&#xff0c;归的过程每次取出当前节点左右子树的最大深度加一 BFS 经典的借助一个队列实现的BFS&#xff0c;用一个变量记录当前的最大层数&#xff0c…

七、基础算法精讲:回溯

目录 一、子集型回溯1.1 电话号码1.2 子集1.3 分割回文串 二、组合型与剪枝2.1 组合2.2 组合总和 III2.3 括号生成 三、排列型3.1 全排列3.2 N 皇后3.3 N 皇后 II 一、子集型回溯 1.1 电话号码 Leetcode 17 MAPPING "", "", "abc", "de…

【算法每日一练]-图论(保姆级教程 篇5(LCA,最短路,分层图)) #LCA #最短路计数 #社交网络 #飞行路线 # 第二短路

今天讲最短路统计和分层图 目录 题目&#xff1a;LCA 思路&#xff1a; 题目&#xff1a;最短路计数 思路&#xff1a; 题目&#xff1a;社交网络 思路&#xff1a; 题目&#xff1a;飞行路线 思路&#xff1a; 题目&#xff1a;第二短路 思路&#xff1a; 题目&a…

【Leetcode 236】二叉树的最近公共祖先 —— 回溯法|DFS|递归

236. 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff…

C++算法入门练习——树的带权路径长度

现有一棵n个结点的树&#xff08;结点编号为从0到n-1&#xff0c;根结点为0号结点&#xff09;&#xff0c;每个结点有各自的权值w。 结点的路径长度是指&#xff0c;从根结点到该结点的边数&#xff1b;结点的带权路径长度是指&#xff0c;结点权值乘以结点的路径长度&#x…

46.全排列-py

46.全排列 class Solution(object):def permute(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""# 结果数组0ans[]nlen(nums)# 判断是否使用state_[False]*n# 临时状态数组dp_[]def dfs (index):# 终止条件if indexn:ans.appe…

力扣labuladong——一刷day81

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣990. 等式方程的可满足性 前言 并查集&#xff08;Union-Find&#xff09;算法是一个专门针对「动态连通性」的算法&#xff0c;我之前写过两次&#x…

20231116模拟赛题解

T1 最大值和最小值的乘积之和 由于要同时搞最大值和最小值&#xff0c;自然想到枚举其中一个。 于是从小到大枚举每一个数作为最小值&#xff0c;然后统计最大值之和&#xff0c;相乘后全部相加即为答案。 怎么求最大值之和呢&#xff1f;可以打个表帮助思考&#xff08;找规…

【C/C++】全排列及素数环问题

全排列 问题描述&#xff1a;将n个互不相同的数全排列&#xff0c;即1&#xff0c;2&#xff0c;n 方法&#xff1a;dfs 算法思路&#xff1a; dfs(从第一层开始){if(递归结束条件){遍历a[i]}打印换行for(循环n个位数) {if(当前数字没用过){第k层&#xff08;第k个位置&…

欧拉回路欧拉路【详解】

1.引入 2.概念 3.解决方法 4.例题 5.回顾 1.引入 经典的七桥问题 哥尼斯堡是位于普累格河上的一座城市&#xff0c;它包含两个岛屿及连接它们的七座桥&#xff0c;如下图所示。 可否走过这样的七座桥&#xff0c;而且每桥只走过一次&#xff1f; 你怎样证明&#xff1f;…

【算法每日一练]-结构优化(保姆级教程 篇6 分块,倍增)#HDU4417超级马里奥 #poj2019玉米田 #POJ3368频繁值

今天知识点&#xff1a; 区间统计不超过h的值&#xff1b; 查询二维区间的极差&#xff1b; 求区间最频繁数&#xff1b; 目录 HDU4417&#xff1a;超级马里奥 思路&#xff1a; poj2019:玉米田 思路&#xff1a; POJ3368:频繁值 思路&#xff1a; HDU4417&#xff1…

LeetCode124.二叉树中最大路径和

第一次只花了20分钟左右就完全靠自己把一道hard题做出来了。我这个方法还是非常简单非常容易理解的&#xff0c;虽然时间复杂度达到了O(n2)。以下是我的代码&#xff1a; class Solution {int max;public int maxPathSum(TreeNode root) {max Integer.MIN_VALUE;return dfs2(…

C/C++ 递归指数型枚举

个人主页&#xff1a;仍有未知等待探索_C语言疑难,数据结构,小项目-CSDN博客 专题分栏&#xff1a;算法_仍有未知等待探索的博客-CSDN博客 目录 一、前言 二、递归指数型枚举 1、题目信息 题目描述 输入格式 输出格式 样例 提示 2、解析 3、代码 一、前言 之前进行枚举…

【算法每日一练]-结构优化(保姆级教程 篇5 树状数组)POJ3067日本 #POJ3321苹果树 #POJ2352星星

目录 今天知识点 求交点转化求逆序对&#xff0c;每次操作都维护一个y点的前缀和 树的变动转化成一维数组的变动&#xff0c;利用时间戳将节点转化成区间 先将y排序&#xff0c;然后每加入一个就点更新求一次前缀和 POJ3067&#xff1a;日本 思路&#xff1a; POJ3321苹…

小项目:迷宫

目录 引言1.题目描述及思想2.代码实现3.最终结果 引言 这个迷宫的话就是去年这时候&#xff0c;我记得当时讲这个的时候我还是一脸懵逼&#xff0c;就是事后花时间能够看懂&#xff0c;能够理解&#xff0c;但是自己肯定是不能够实现的&#xff0c;而且觉得这个东西非常的庞大…

【每日一题】【12.15】2415.反转二叉树的奇数层

&#x1f525;博客主页&#xff1a; A_SHOWY&#x1f3a5;系列专栏&#xff1a;力扣刷题总结录 数据结构 云计算 数字图像处理 力扣每日一题_ 2415. 反转二叉树的奇数层https://leetcode.cn/problems/reverse-odd-levels-of-binary-tree/ 今天终于碰到了一个mid题目&#x…

头歌-查找的实现及其应用

第一关、顺序查找 #include <stdio.h> #include <stdlib.h> #include <string.h> #include "search.h" int Search_Seq(SSTable L, KeyType key) { int i; for (i 1; i < L.length; i) { if (L.r[i].key key) { return i; // 找到关…

【刷题】DFS

DFS 递归&#xff1a; 1.判断是否失败终止 2.判断是否成功终止&#xff0c;如果成功的&#xff0c;记录一个成果 3.遍历各种选择&#xff0c;在这部分可以进行剪枝 4.在每种情况下进行DFS&#xff0c;并进行回退。 199. 二叉树的右视图 给定一个二叉树的 根节点 root&#x…

LeetCode797. All Paths From Source to Target

文章目录 一、题目二、题解 一、题目 Given a directed acyclic graph (DAG) of n nodes labeled from 0 to n - 1, find all possible paths from node 0 to node n - 1 and return them in any order. The graph is given as follows: graph[i] is a list of all nodes you…

【算法每日一练]-图论(保姆级教程篇11 tarjan模板篇)无向图的桥 #无向图的割点 #有向图的强连通分量

目录 预备知识 模板1&#xff1a;无向图的桥 模板2&#xff1a;无向图的割点 模板3&#xff1a;有向图的强连通分量 讲之前先补充一下必要概念&#xff1a; 预备知识 无向图的【连通分量】&#xff1a; 即极大联通子图&#xff0c;再加入一个节点就不再连通&#xff08;对…

[Tricks] 记各类欧拉回路问题

以前从来没见过除了板子以外的题&#xff0c;但最近总是做题见到欧拉回路&#xff0c;然后一样的 trick 每次都想不到。 怎么一点举一反三的能力都没有的&#xff1f; 板子 有向图的欧拉回路 dfs&#xff0c;当前弧优化。 Code stack<int> q; void dfs(int u) {for(int i…

【深度优先】LeetCode1932:合并多棵二叉搜索树

作者推荐 动态规划LeetCode2552&#xff1a;优化了6版的1324模式 题目 给你 n 个 二叉搜索树的根节点 &#xff0c;存储在数组 trees 中&#xff08;下标从 0 开始&#xff09;&#xff0c;对应 n 棵不同的二叉搜索树。trees 中的每棵二叉搜索树 最多有 3 个节点 &#xff0…

递归搜索--java版本

新手必看&#xff0c;dfs深度优先遍历&#xff0c;java代码实现 目录 一、一维递归搜索 跳台阶 二、二维递归搜索 走方格 三、全排列方案输出 递归的思想 递归是函数中一个很重要的思想&#xff0c;要学着理解递归的本质原理&#xff0c;即函数中访问函数&#xff0c;加上一…

LeetCode [中等]二叉树的右视图(层序

199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 从二叉树的层序遍历改进&#xff0c;根右左 /*** Definition for a binary tree node.* public class TreeNode {* public int val;* public TreeNode left;* public TreeNode right;* public T…

java应用程序性能分析

一、Java程序性能优化 1. 程序的性能通过以下几个方面来表现&#xff1a; 1&#xff09;执行速度&#xff1a;程序的反映是否迅速&#xff0c;响应时间是否足够短&#xff1b; 2&#xff09;内存分配&#xff1a;内存分配是否合理&#xff0c;是否过多地消耗内存或者存在泄漏&…

LeetCode841. Keys and Rooms

文章目录 一、题目二、题解 一、题目 There are n rooms labeled from 0 to n - 1 and all the rooms are locked except for room 0. Your goal is to visit all the rooms. However, you cannot enter a locked room without having its key. When you visit a room, you m…

力扣543. 二叉树的直径(java DFS解法)

Problem: 543. 二叉树的直径 文章目录 题目描述思路解题方法复杂度Code 题目描述 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们…

算法学习系列(四):指数型枚举、全排列、组合型枚举

目录 引言一、指数型枚举1.递归写法2.位运算写法 二、全排列1.写法一&#xff1a;使用ways数组来存2.写法二&#xff1a;使用swap函数来变 三、组合型枚举写法一&#xff1a;用ways数组存写法二&#xff1a;用swap来做 四、测试 引言 本篇其实也是递归的一部分&#xff0c;主要…

LeetCode:2646. 最小化旅行的价格总和(dfs + 树形dp C++、Java)

目录 2646. 最小化旅行的价格总和 题目描述&#xff1a; 实现代码与解析&#xff1a; DFS DP 原理思路&#xff1a; 2646. 最小化旅行的价格总和 题目描述&#xff1a; 现有一棵无向、无根的树&#xff0c;树中有 n 个节点&#xff0c;按从 0 到 n - 1 编号。给你一个整数…

Leetcode—1466.重新规划路线【中等】

2023每日刷题&#xff08;五十二&#xff09; Leetcode—1466.重新规划路线 算法思想 实现代码 class Solution { public:int minReorder(int n, vector<vector<int>>& connections) {vector<pair<int, int>> g[n];for(auto e: connections) {in…

Day39| Leetcode 62. 不同路径 Leetcode 63. 不同路径 II

补 Leetcode 62. 不同路径 题目链接 62 不同路径 dfs题不多说了&#xff0c;dp也可以做。 class Solution { public:int uniquePaths(int m, int n) {int dp[109][109];//vector<vector<int>> dp(m, vector<int>(n, 0));for(int i0;i<m;i){dp[i][0] …

Leetcode—2646.最小化旅行的价格总和【困难】

2023每日刷题&#xff08;五十三&#xff09; Leetcode—2646.最小化旅行的价格总和 算法思想 看灵神的 实现代码 class Solution { public:int minimumTotalPrice(int n, vector<vector<int>>& edges, vector<int>& price, vector<vector&l…

LeetCode994腐烂的橘子(相关话题:矩阵dfs和bfs)

题目描述 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。 每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单…

树与图的搜索

目录 树与图的深度优先遍历 树与图的宽度优先遍历 树与图的深度优先遍历 题目如下&#xff1a; 树是一种特殊的图&#xff0c;是一种无环连通图&#xff0c;图分两种&#xff0c;无向图&#xff08;边无方向&#xff09;和有向图&#xff08;边有方向&#xff09;&#xff0…

二叉树的层序遍历,力扣

目录 题目地址&#xff1a; 题目&#xff1a; 我们直接看题解吧&#xff1a; 解题方法&#xff1a; 方法分析&#xff1a; 解题分析&#xff1a; 解题思路&#xff1a; 代码实现&#xff1a; 代码补充说明&#xff1a; 题目地址&#xff1a; 102. 二叉树的层序遍历 - 力扣&…

力扣labuladong——一刷day86

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣496. 下一个更大元素 I二、力扣739. 每日温度 前言 单调栈实际上就是栈&#xff0c;只是利用了一些巧妙的逻辑&#xff0c;使得每次新元素入栈后&#…

算法第十一天-递增顺序搜索树

递增顺序搜索树 题目要求 解题思路 1.二叉搜索树&#xff08;BST&#xff09; 2.任意两个不同节点 遇到二叉搜索树&#xff0c;立即想到这句话&#xff1a;[二叉搜索树&#xff08;BST&#xff09;的中序遍历是有序的]。这是解决所有二叉搜索树问题的关键。 要求BST的任意两…

【打卡】牛客网:BM61 矩阵最长递增路径

技巧&#xff1a; 1.dfs中&#xff0c;虽然num不需要变化&#xff0c;但是在调用函数时加上&&#xff0c;可以防止超时。 2. 一种快速创建NxM维、元素都为0的vector的方法&#xff1a; vector<vector<int>> dp(n, vector <int> (m)); 自己写的&#xff1…

简单的小题集(七)

文章目录 一、斐波那契数列二、皮皮小南遭不住 一、斐波那契数列 大学学 C 语言的时候&#xff0c;老师都少不了讲斐波那契数列&#xff0c;什么递归、递推、还有 矩阵幂&#xff0c;反正方法多的是&#xff0c;不过今天这道题咱们稍微改变一下&#xff0c;毕竟直接写斐波那契…

03-搜索与图论python

1-DFS 排列数字 N10 path[0]*N state[False]*N def dfs(u):if un:for i in range(n):print(path[i],end )print()for i in range(n):if state[i]False:path[u]i1 state[i]Truedfs(u1)#恢复现场path[u]0state[i]False nint(input()) dfs(0)采用位运算太优雅了&#xff0c;细细…

0x21 树与图的遍历

0x21 树与图的遍历 树与图最常见的储存方式就是使用一个邻接表保存它们的边集。邻接表以head数组为表头&#xff0c;使用ver和edge数组分别存储边的终点和权值&#xff0c;使用next数组模拟链表指针&#xff08;就像我们在0x13节中讲解邻接表所给出的代码那样&#xff09;。 …

P8625.生命之树

求最大的子树之和 维护包含当前节点的最大子树之和就好了 #include<bits/stdc.h> using namespace std; using ll long long; const int N 1e610; ll w[N]; vector<int>g[N]; ll f[N]; ll res;ll dfs(int u,int father){f[u] w[u];for(auto &t:g[u]){if(tf…

C++ 深度优先搜索DFS || 模版题:排列数字

给定一个整数 n &#xff0c;将数字 1∼n 排成一排&#xff0c;将会有很多种排列方法。 现在&#xff0c;请你按照字典序将所有的排列方法输出。 输入格式 共一行&#xff0c;包含一个整数 n 。 输出格式 按字典序输出所有排列方案&#xff0c;每个方案占一行。 数据范围 1…

图论中的树

树的性质与遍历 树者&#xff0c;千载之长存也。 树的性质与遍历树的性质&#xff1a;树的遍历&#xff1a; 树的性质&#xff1a; 无向连通性 树是一个无向连通图&#xff0c;也就是说&#xff0c;任意两个节点之间存在唯一的路径。 无回路 树不包含任何回路或环&#xff…

10129 - Play on Words (UVA)

题目链接如下&#xff1a; Online Judge 欧拉道路的题。 有向图满足欧拉道路有两个条件&#xff1a;1&#xff0c;图是连通的&#xff1b;2&#xff0c;最多只能有两个点的出度不等于入度&#xff0c;而且其中一个点的出度比入度大1&#xff0c;一个点的入度比出度大1. 我的…

算法学习系列(十九):DFS、BFS

目录 引言一、DFS1.排列数字2.n-皇后问题 二、BFS1.走迷宫2.八数码问题 引言 关于这个DFS与BFS的问题非常的常见&#xff0c;其实这两个就是搜索的方式不一样而已&#xff0c;核心思想非常容易懂&#xff0c;题目的话也是做一道记一道&#xff0c;还是要针对题来看&#xff0c…

0x23 剪枝

0x23 剪枝 剪枝&#xff0c;就是减少搜索树规模&#xff0c;尽早排除搜索树中不必要的分支的一种手段。形象地看&#xff0c;就好像剪掉了搜索树的枝条&#xff0c;故被称为“剪枝”。在深度优先搜索中&#xff0c;有以下几类常见的剪枝方法&#xff1a; 1.优化搜索顺序 在一…

LeetCode 2477. 到达首都的最少油耗:深度优先搜索(DFS)

【LetMeFly】2477.到达首都的最少油耗&#xff1a;深度优先搜索(DFS) 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-fuel-cost-to-report-to-the-capital/ 给你一棵 n 个节点的树&#xff08;一个无向、连通、无环图&#xff09;&#xff0c;每个节点表示一…

【LeetCode:2646. 最小化旅行的价格总和 | DFS + DP】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

算法基础课之SPFA判断负环

SPFA判断负环 核心思想&#xff1a;spfa算法 当遍历一个点时 cnt数组记录边数 若有负环 边数会无限1 cnt>n是即为有负环 #include<iostream>#include<cstring>#include<algorithm>#include<queue>using namespace std;const int N 2010 , M 10010…

补题与总结:AtCoder Beginner Contest 333 D、E

文章目录 写在最前面的复盘D - Erase LeavesE - Takahashi Quest 写在最前面的复盘 前三题属于是凑数题&#xff0c;下次争取快点a掉&#xff0c;这次wa了一次 C题写了个三指针&#xff0c;从小到大枚举出满足题意的数&#xff0c;其实可以直接暴力枚举满足题意的数&#xff0c…

华为OD机试 - 区间交集 - 深度优先搜索dfs算法(滥用)(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述备注用例1、输入2、输出3、说明 四、解题思路1、核心思路&#xff1a;2、具体步骤 五、Java算法源码再重新读一遍题目&#xff0c;看看能否优化一下~解题步骤也简化了很多。 六、效果展示1、输入2、输出3、说明 华为OD机试 2…

力扣面试题 17.22. 单词转换(java DFS解法)

Problem: 面试题 17.22. 单词转换 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 由于该题目涉及到所有的路径&#xff08;可能&#xff09;&#xff0c;即我们可以想到利用DFS解法同时&#xff0c;题目只要求我们返回一条合法的路径即可&#xff0c;我们又可以在DF…

165. 小猫爬山(DFS之剪枝与优化)

165. 小猫爬山 - AcWing题库 翰翰和达达饲养了 N 只小猫&#xff0c;这天&#xff0c;小猫们要去爬山。 经历了千辛万苦&#xff0c;小猫们终于爬上了山顶&#xff0c;但是疲倦的它们再也不想徒步走下山了&#xff08;呜咕>_<&#xff09;。 翰翰和达达只好花钱让它们…

回溯算法 典型习题

vector<vector<int>> res; vector<int> path;void dfs() {if (递归终止条件){res.push_back(path);return;}// 递归方向for (xxx) {path.push_back(val);dfs();path.pop_back();} } 1.涉及枚举 2.不确定 for 循环的次数 总结 枚举各种可能的情况。 0.直接…

12.23_黑马数据结构与算法笔记Java

目录 230 图 DFS 231 图 BFS 232 图 拓扑排序 233 图 拓扑排序 检测环 234 图 拓扑排序 DFS 235 图 Dijkstra 算法描述 236 图 Dijkstra 算法实现 237 图 Dijkstra 改进 记录路径 238 图 Dijkstra 改进 优先队列 239 图 Bellman Ford 算法描述 240 图 Bellman Ford 算…

Kruskal算法求最小生成树(kruskal算法)

题目描述 给定一个 n 个点 m 条边的无向图&#xff0c;图中可能存在重边和自环&#xff0c;边权可能为负数。 求最小生成树的树边权重之和&#xff0c;如果最小生成树不存在则输出 impossible。 给定一张边带权的无向图 G(V,E)&#xff0c;其中 V 表示图中点的集合&#xff…

数据结构学习 Leetcode494 目标和

关键词&#xff1a;动态规划 01背包 dfs回溯 一个套路&#xff1a; 01背包&#xff1a;空间优化之后dp【target1】&#xff0c;遍历的时候要逆序遍历完全背包&#xff1a;空间优化之后dp【target1】&#xff0c;遍历的时候要正序遍历 题目&#xff1a; 解法一&#xff1a; …

力扣labuladong——一刷day80

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣323.无向图中连通分量的数目二、力扣130. 被围绕的区域 前言 并查集&#xff08;Union-Find&#xff09;算法是一个专门针对「动态连通性」的算法&…

6130 树的最长路

思路&#xff1a;树的最长路问题可以通过两次 DFS 求解&#xff0c;具体思路如下&#xff1a; 1.第一次 DFS 求树的直径 以任意一个点为起点进行深度优先遍历&#xff08;DFS&#xff09;&#xff0c;找到与该点距离最远的点 u 。 以 u 为起点进行 DFS &#xff0c;找到与 u 距…

82 BFS和DFS两种方式求岛屿的最大面积

问题描述&#xff1a;给定一个包含了0和1的非空二维数组grid&#xff0c;一个岛屿是由一些相邻的1构成的组合&#xff0c;这里的相邻要求两个1必须在水平或竖直方向上相邻&#xff0c;你可以假设grid的四个边缘都被0&#xff0c;代表谁保卫者&#xff0c;找到给定二维数组中最大…

机器人活动区域 - 华为OD统一考试

OD统一考试 题解&#xff1a; Java / Python / C 题目描述 现有一个机器人&#xff0c;可放置于 M x N 的网格中任意位置&#xff0c;每个网格包含一个非负整数编号&#xff0c;当相邻网格的数字编号差值的绝对值小于等于 1 时机器人可以在网格间移动。 问题: 求机器人可活动…

穷举vs暴搜vs深搜vs回溯vs剪枝

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析&#xff08;3&#xff09; 目录 &#x1f449;&#x1f3fb;全排列 &#x1f449;&…

[蓝桥杯]真题讲解:飞机降落(DFS枚举)

[蓝桥杯]真题讲解&#xff1a;飞机降落&#xff08;DFS枚举&#xff09; 一、视频讲解二、暴力代码&#xff08;也是正解代码&#xff09; 一、视频讲解 视频讲解 二、暴力代码&#xff08;也是正解代码&#xff09; //飞机降落&#xff1a; 暴力枚举DFS #include<bits/…

图的深度和广度优先遍历

题目描述 以邻接矩阵给出一张以整数编号为顶点的图&#xff0c;其中0表示不相连&#xff0c;1表示相连。按深度和广度优先进行遍历&#xff0c;输出全部结果。要求&#xff0c;遍历时优先较小的顶点。如&#xff0c;若顶点0与顶点2&#xff0c;顶点3&#xff0c;顶点4相连&…

[算法每日一练]-双指针 (保姆级教程篇 1) #A-B数对 #求和 #元音字母 #最短连续子数组 #无重复字符的最长子串 #最小子串覆盖 #方块桶

目录 A-B数对 解法一&#xff1a;双指针 解法二&#xff1a;STL二分查找 解法三&#xff1a;map 求和 元音字母 最短连续子数组 无重复字符的最长子串 最小子串覆盖 方块桶 双指针特点&#xff1a;双指针绝不回头 A-B数对 解法一&#xff1a;双指针 先把数列排列成…

day16打卡

day16打卡 104. 二叉树的最大深度 递归法时间复杂度&#xff1a;O(N)&#xff0c;空间复杂度&#xff1a;O(N) class Solution { public:int maxDepth(TreeNode* root) {if(root nullptr) return 0;return 1 max(maxDepth(root->left), maxDepth(root->right));} };…

C++ 之LeetCode刷题记录(十八)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 依旧是追求耗时0s的一天。 104. 二叉树的最大深度 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最…

整数变换问题

整数变换问题 Description 整数变换问题。关于整数i的变换f和g定义如下&#xff1a;f(i)3i&#xff1b; 试设计一个算法&#xff0c;对于给定的2 个整数n和m&#xff0c;用最少的f和g变换次数将n变换为m。例如&#xff0c;可以将整数15用4 次变换将它变换为整数4&#xff1a;4…

【算法每日一练]-动态规划 (保姆级教程 篇15)#动物 #赶deadline #page #构造字符串

目录 今日知识点&#xff1a; 01背包的路径输出 计算位和的数位dp 不用管字符串&#xff0c;只需要看好约束dp转移的变量 动物 赶deadline page 构造字符串 动物 有某类动物&#xff0c;可以在农场待n天&#xff0c;每天最多增加一只动物&#xff0c;第i天到来的动物每…

1 月 26日算法练习

文章目录 九宫幻方穿越雷区走迷宫 九宫幻方 小明最近在教邻居家的小朋友小学奥数&#xff0c;而最近正好讲述到了三阶幻方这个部分&#xff0c;三阶幻方指的是将1~9不重复的填入一个33的矩阵当中&#xff0c;使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称…

增广路算法 DFS求解 最大网络流问题

最大网络流问题 最大网络流问题是这样的&#xff0c;有一个有向图&#xff0c;假定有一个源点&#xff0c;有一个汇点&#xff0c;源点有流量出来&#xff0c;汇点有流量进入&#xff0c;有向图上的边的权重为该条边可通过的最大流量(方向为边的方向)&#xff0c;问从源点到汇…

【算法专题】记忆化搜索

记忆化搜索 1. 斐波那契数(记忆化搜索)2. 不同路径Ⅱ(记忆化搜索)3. 最长递增子序列(记忆化搜索)4. 猜数字大小Ⅱ5. 矩阵中的最长递增路径 什么是记忆化搜索呢&#xff1f;记忆化搜索其实就是带了"备忘录"的递归&#xff0c;给递归加上一个"备忘录"&#x…

图论第二天|695. 岛屿的最大面积 1020. 飞地的数量 130. 被围绕的区域 417. 太平洋大西洋水流问题 827.最大人工岛

目录 Leetcode695. 岛屿的最大面积Leetcode1020. 飞地的数量Leetcode130. 被围绕的区域Leetcode417. 太平洋大西洋水流问题Leetcode827.最大人工岛 Leetcode695. 岛屿的最大面积 文章链接&#xff1a;代码随想录 题目链接&#xff1a;695. 岛屿的最大面积 思路&#xff1a;dfs …

Python - 深夜数据结构与算法之 Two-Ended BFS

目录 一.引言 二.双向 BFS 简介 1.双向遍历示例 2.搜索模版回顾 三.经典算法实战 1.Word-Ladder [127] 2.Min-Gen-Mutation [433] 四.总结 一.引言 DFS、BFS 是常见的初级搜索方式&#xff0c;为了提高搜索效率&#xff0c;衍生了剪枝、双向 BFS 以及 A* 即启发式搜索…

dfs专题 P1605 迷宫——洛谷(题解)

题目描述 给定一个 &#xfffd;&#xfffd;NM 方格的迷宫&#xff0c;迷宫里有 &#xfffd;T 处障碍&#xff0c;障碍处不可通过。 在迷宫中移动有上下左右四种方式&#xff0c;每次只能移动一个方格。数据保证起点上没有障碍。 给定起点坐标和终点坐标&#xff0c;每个方…

【蓝桥备赛】数字王国之军训排队——DFS深度优先搜索

题目链接 数字王国之军训排队 个人思路 一般最坏情况&#xff0c;就是这几个数都存在倍数关系&#xff0c;那么就是 n 个数分成 n 个队。然后本题 n 的范围不大&#xff0c;可以枚举 1 ~ n 得到&#xff0c;如果数字范围大可以考虑进行二分。从 1 ~ n ,第一次满足条件的队伍…

力扣hot100 单词搜索 深度优先搜索 特殊字符判重

Problem: 79. 单词搜索 Code class Solution{int n, m;char[][] b;String word;int[] dx { 1, 0, -1, 0 };int[] dy { 0, 1, 0, -1 };public boolean exist(char[][] board, String word){b board;this.word word;n b.length;m b[0].length; // 以所有点作为起点来进行…

综合回溯,剪枝,暴搜

目录 力扣1863.找出所有子集的异或总和再求和 力扣47.全排列II​编辑 力扣17.电话号码的字母组合电话号码的字母组合https://leetcode.cn/problems/letter-combinations-of-a-phone-number/​编辑 力扣22.括号生成 力扣1863.找出所有子集的异或总和再求和 class Solution {in…

<蓝桥杯软件赛>零基础备赛20周--第13周--DFS剪枝

报名明年4月蓝桥杯软件赛的同学们&#xff0c;如果你是大一零基础&#xff0c;目前懵懂中&#xff0c;不知该怎么办&#xff0c;可以看看本博客系列&#xff1a;备赛20周合集 20周的完整安排请点击&#xff1a;20周计划 每周发1个博客&#xff0c;共20周。 在QQ群上答疑&#x…

LeetCode讲解篇之47. 全排列 II

文章目录 题目描述题解思路题解代码 题目描述 题解思路 初始化一个nums中元素是否被访问的数组used、记录还需要递归的深度deep&#xff0c;遍历nums&#xff0c;如果当前元素被访问过或者当前元素等于前一个元素且前一个元素没被访问过就跳过该次遍历&#xff0c;否则选择当前…

【算法每日一练]-练习篇 #Tile Pattern #Swapping Puzzle # socks

目录 今日知识点&#xff1a; 二维前缀和 逆序对 袜子配对(感觉挺难的&#xff0c;又不知道说啥) Tile Pattern Swapping Puzzle socks Tile Pattern 331 题意&#xff1a;有一个10^9*10^9的方格。W表示白色方格&#xff0c;B表示黑色方格。每个(i,j)方的颜色由(i…

C++ bfs 的状态表示(六十二)【第九篇】

今天我们来学习一下bfs的复杂状态表示 1.bfs状态表示 无论是深度优先搜索还是广度优先搜索&#xff0c;搜索的过程均会建立一棵 搜索树&#xff0c;搜索树上的每一个结点都是一个 状态&#xff0c;而搜索的过程又可以看作是 状态的转移。 对于 BFS&#xff0c;搜索过程中产生…

【LeetCode】递归精选8题——基础递归、链表递归

目录 基础递归问题&#xff1a; 1. 斐波那契数&#xff08;简单&#xff09; 1.1 递归求解 1.2 迭代求解 2. 爬楼梯&#xff08;简单&#xff09; 2.1 递归求解 2.2 迭代求解 3. 汉诺塔问题&#xff08;简单&#xff09; 3.1 递归求解 4. Pow(x, n)&#xff08;中等&…

每日OJ题_二叉树dfs③_力扣814. 二叉树剪枝

目录 力扣814. 二叉树剪枝 解析代码 力扣814. 二叉树剪枝 814. 二叉树剪枝 难度 中等 给你二叉树的根结点 root &#xff0c;此外树的每个结点的值要么是 0 &#xff0c;要么是 1 。 返回移除了所有不包含 1 的子树的原二叉树。 节点 node 的子树为 node 本身加上所有 n…

LeetCode 0590. N 叉树的后序遍历:深度优先搜索(DFS)

【LetMeFly】590.N 叉树的后序遍历&#xff1a;深度优先搜索(DFS) 力扣题目链接&#xff1a;https://leetcode.cn/problems/n-ary-tree-postorder-traversal/ 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 后序遍历 。 n 叉树 在输入中按层序遍历进行序列化表…

【算法学习】搜索算法之深度优先搜索

深度优先搜索 DFS 1.算法介绍 深度优先搜索(DFS)算法是一种用于遍历或搜索树或图的算法。它的基本思想是尽可能深地搜索图的分支,直到到达叶节点或无法再深入为止,然后回溯到前一个节点,继续探索其他分支。这种搜索策略可以确保图中的每个节点都被访问到,除非它是一个环。…

每日OJ题_二叉树dfs④_力扣98. 验证二叉搜索树

目录 力扣98. 验证二叉搜索树 解析代码 力扣98. 验证二叉搜索树 98. 验证二叉搜索树 难度 中等 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树…

「递归算法」:目标和(两种解法)

一、题目 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可以在 2 之前添加 &#xff0c;在 1 之前添加 - &am…

代码随想录第六十三天——被围绕的区域,太平洋大西洋水流问题,最大人工岛

leetcode 130. 被围绕的区域 题目链接&#xff1a;被围绕的区域 步骤一&#xff1a;深搜或者广搜将地图周边的’O’全部改成’A’ 步骤二&#xff1a;遍历地图&#xff0c;将’O’全部改成’X’&#xff0c;将’A’改回’O’ class Solution { private:int dir[4][2] {-1, 0…

搜索与图论第三期 树与图的深度优先遍历

前言 该部分内容实际上是DFS的一个扩展&#xff0c;只要是会了DFS之后&#xff0c;这部分其实也差不多&#xff0c;直接上例题啦就。 1…

NOIP2004提高组T4:虫食算

题目链接 [NOIP2004 提高组] 虫食算 题目描述 所谓虫食算&#xff0c;就是原先的算式中有一部分被虫子啃掉了&#xff0c;需要我们根据剩下的数字来判定被啃掉的数字。来看一个简单的例子&#xff1a; 43#9865#045 8468#6633 ‾ 44445509678 \begin{aligned} \verb!43#9865…

1358. 素数环-深度优先搜索-DFS

代码&#xff1a; #include <bits/stdc.h> using namespace std; int n, a[19], c 0; bool f[19]; bool prime(int n){if(n 1)return false;for ( int i 2 ; i * i < n ; i )if(n % i 0)return false;return true; } void print(){c;cout << c << &q…

每周一算法:数独游戏

题目链接 数独游戏 题目描述 数独是根据 9 9 9 \times 9 99 盘面上的已知数字&#xff0c;推理出所有剩余空格的数字&#xff0c;并满足每一行、每一列、每一个粗线宫内的数字均含 1 − 9 1 - 9 1−9 &#xff0c;不重复。每一道合格的数独谜题都有且仅有唯一答案&#x…

算法基础之二分图的最大匹配

二分图的最大匹配 核心思想&#xff1a;匈牙利算法 : 寻找有没有可重新连接的路 #include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N 510 , M 100010;int h[N],e[M],ne[M],idx;int match[N]; //记录与j匹配的iint n…

Educational Codeforces Round 160 (Rated for Div. 2) E. Matrix Problem(费用流)

原题链接&#xff1a;E. Matrix Problem 题目大意&#xff1a; 给出一个 n n n 行 m m m 列的 0 / 1 0/1 0/1 矩阵&#xff0c;再给出一些限制条件&#xff1a;一个长为 n n n 的数组 a a a&#xff0c;和一个长为 m m m 的数组 b b b 。 其中 a i a_{i} ai​ 表示第 …

面向对象之深度优先和广度优先

面向对象深度优先和广度优先是什么&#xff1f; 二叉树的两种遍历是数据结构的经典考察题目, 广度遍历考察队列结构, 深度遍历考察递归 深度优先 先序遍历(父, 左子, 右子) 0, 1, 3, 7, 8, 4, 9, 2, 5, 6 中序遍历(左子, 父, 右子) 7, 3, 8, 1, 9, 4, 0, 5, 2, 6 后序遍历(左子…

2024/1/17 DFS BFS + Div 3 a,b

目录 Lake Counting S 求细胞数量 海战 组合的输出 div3 A. Square div3 B. Arranging Cats Lake Counting S P1596 [USACO10OCT] Lake Counting S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 感谢大佬的指点&#xff01;&#xff01;&#xff01;&#xff01; 思…

蓝桥杯官网填空题(骰子迷题)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小明参加了少年宫的一项趣味活动&#xff1a;每个小朋友发给一个空白的骰子&#xff08;它的 6 个面是空白的&#xff0c;没有数字&#xff09;&#xff0c;要小朋…

【leetcode100-051到054】【图论】四题合集

【岛屿数量】 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以假设…

最大流-Dinic算法,原理详解,四大优化,详细代码

文章目录 零、前言一、概念回顾(可略过)1.1流网络1.2流1.3最大流1.4残留网络1.5增广路径1.6流网络的割1.7最大流最小割定理1.7.1证明 1.8Ford-Fulkerson方法 二、Dinic算法2.1EK算法的可优化之处2.2Dinic算法的优化策略2.3Dinic算法原理2.3.1找增广路2.3.2更新剩余容量 2.4算法…

【代码随想录算法训练营第二十八天|93.复原IP地址、 78.子集、90.子集II】

代码随想录算法训练营第二十八天|93.复原IP地址、78.子集、90.子集II 93.复原IP地址78.子集90.子集II 题解代码参考&#xff1a;http://www.acwing.com 93.复原IP地址 看代码&#xff1a; class Solution { public:vector<string> res;vector<string> restoreIpA…

过河卒(洛谷)

题目 原题 题目描述 棋盘上 A A A 点有一个过河卒&#xff0c;需要走到目标 B B B 点。卒行走的规则&#xff1a;可以向下、或者向右。同时在棋盘上 C C C 点有一个对方的马&#xff0c;该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。…

题解25-30

64. 最小路径和 - 力扣&#xff08;LeetCode&#xff09; 给定一个包含非负整数的 *m* x *n* 网格 grid &#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 **说明&#xff1a;**每次只能向下或者向右移动一步。 示例 1&#xff1a; …

[C++]17:二叉树进阶

二叉树进阶 一.二叉搜索树&#xff1a;1.二叉搜索树的概念&#xff1a;2.二叉搜索树的实现---循环版本&#xff1a;1.二叉搜索树的基本结构&#xff1a;2.查找&#xff1a;3.插入&#xff1a;4.中序遍历&#xff1a;5.删除&#xff1a; 3.二叉搜索树的实现---递归版本&#xff…

1124. 骑马修栅栏(欧拉路径,模板)

农民John每年有很多栅栏要修理。 他总是骑着马穿过每一个栅栏并修复它破损的地方。 John是一个与其他农民一样懒的人。 他讨厌骑马&#xff0c;因此从来不两次经过一个栅栏。 你必须编一个程序&#xff0c;读入栅栏网络的描述&#xff0c;并计算出一条修栅栏的路径&#xf…

【leetcode】深搜、暴搜、回溯、剪枝(C++)2

深搜、暴搜、回溯、剪枝&#xff08;C&#xff09;2 一、括号生成1、题目描述2、代码3、解析 二、组合1、题目描述2、代码3、解析 三、目标和1、题目描述2、代码3、解析 四、组合总和1、题目描述2、代码3、解析 五、字母大小写全排列1、题目描述2、代码3、解析 六、优美的排列1…

「优选算法刷题」:替换所有的问号

一、题目 给你一个仅包含小写英文字母和 ? 字符的字符串 s&#xff0c;请你将所有的 ? 转换为若干小写字母&#xff0c;使最终的字符串不包含任何 连续重复 的字符。 注意&#xff1a;你 不能 修改非 ? 字符。 题目测试用例保证 除 ? 字符 之外&#xff0c;不存在连续重…

牛客——递归实现组合型枚举(枚举,dfs)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 从 1~n 这 n 个整数中随机选出 m 个&#xff0c;输出所有可能的选择方案。n>0n \gt 0n>0, 0≤m≤n0 \leq m \leq n0≤m≤n, n(n−m)≤25n(n-m)\leq 25n(n−m)≤25。 输入描述…

寒假刷题-dfs

递归/深度优先搜索 92. 递归实现指数型枚举 - AcWing题库 指数型递归指的是给定的数组中的每个数都有x种选择&#xff0c;那么时间复杂度就为x的n次方,在这道题中,1-n的每个数字都有两张选择,选或不选。那么本题的时间复杂度就是2的n次方&#xff0c;方案数也是2的n次方,这是…

P5194 Scales S——dfs(前缀和剪枝)

传送门https://www.luogu.com.cn/problem/P5194手切第一遍&#xff0c;没想到可以用前缀和剪枝&#xff0c;并且是从小到大搜了&#xff0c;不出意外40分TLEWA 第二遍&#xff1a;代码及思路 // Problem: // P5194 [USACO05DEC] Scales S // // Contest: Luogu // UR…

2.16学习总结

1.邮递员送信&#xff08;dijkstra 不只是从起到到目标点&#xff0c;还要走回去&#xff09; 2.炸铁路(并查集) 3.统计方形&#xff08;数据加强版&#xff09;&#xff08;排列组合&#xff09; 4.滑雪&#xff08;记忆化&#xff09; 5.小车问题&#xff08;数学问题&#x…

Codeforces Round 926 (Div. 2)(A,B,C,D,E,F)

这场还是很有含金量的&#xff0c;B题开始就有难度了&#xff0c;B是个推结论的题&#xff0c;C要推结论然后递推&#xff0c;D题是有点难的树上DP&#xff08;主要是状态转移方程不好写&#xff09;&#xff0c;E题是个二进制预处理然后状压DP&#xff0c;F题是个数论&#xf…

搜索+哈希/平衡树,LeetCode 987. 二叉树的垂序遍历

目录 一、题目 1、题目描述 2、接口描述 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 给你二叉树的根结点 root &#xff0c;请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言&#xff0c;其左右子结…

Java实现Dfs算法(基本讲解)

目录 一、Dfs算法的概念 二、Dfs算法的设计步骤 三、Dfs算法模板 四、Dfs算法经典例题 &#xff08;1&#xff09;全排列 &#xff08;2&#xff09;N皇后 一、Dfs算法的概念 Depth First Search 即 DFS&#xff0c;意为深度优先搜索&#xff0c;是所有的搜索手段之一。它…

【深度优先搜索】【树】【有向图】【推荐】685. 冗余连接 II

LeetCode685. 冗余连接 II 在本问题中&#xff0c;有根树指满足以下条件的 有向 图。该树只有一个根节点&#xff0c;所有其他节点都是该根节点的后继。该树除了根节点之外的每一个节点都有且只有一个父节点&#xff0c;而根节点没有父节点。 输入一个有向图&#xff0c;该图由…

代码随想录算法训练营第十七天 | 110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和 [二叉树篇]

代码随想录算法训练营第十七天 LeetCode 110.平衡二叉树题目描述思路参考代码 LeetCode 257. 二叉树的所有路径题目描述思路参考代码 LeetCode 404.左叶子之和题目描述思路参考代码 LeetCode 110.平衡二叉树 题目链接&#xff1a;110.平衡二叉树 文章讲解&#xff1a;代码随想录…

【完全二叉树节点数!】【深度优先】【广度优先】Leetcode 222 完全二叉树的节点个数

【完全二叉树】【深度优先】【广度优先】Leetcode 222 完全二叉树的节点个数 :star:解法1 按照完全二叉树解法2 按照普通二叉树&#xff1a;深度优先遍历 后序 左右中解法3 按照普通二叉树&#xff1a;广度优先遍历 层序遍历 ---------------&#x1f388;&#x1f388;题目链接…

leetcode 1806. 还原排列的最少操作步数

题目链接&#xff1a;leetcode 1806 1.题目 给你一个偶数 n​​​​​​ &#xff0c;已知存在一个长度为 n 的排列 perm &#xff0c;其中 perm[i] i​&#xff08;下标 从 0 开始 计数&#xff09;。 一步操作中&#xff0c;你将创建一个新数组 arr &#xff0c;对于每个 …

每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和

目录 力扣129. 求根节点到叶节点数字之和 解析代码 力扣129. 求根节点到叶节点数字之和 129. 求根节点到叶节点数字之和 难度 中等 给你一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&am…

DFS剪枝算法经典题目-挑选

4954. 挑选 - AcWing题库 给定一个包含 n 个正整数 a1,a2,…,an的集合。 集合中可能存在数值相同的元素。 请你从集合中挑选一些元素&#xff0c;要求同时满足以下所有条件&#xff1a; 被选中元素不少于 2 个。所有被选中元素之和不小于 l 且不大于 r。所有被选中元素之中最大…

代码随想录训练营第三十期|第二十五天|216.组合总和III● 17.电话号码的字母组合

216. 组合总和 III - 力扣&#xff08;LeetCode&#xff09; class Solution {public List<List<Integer>> combinationSum3(int k, int n) {List<List<Integer>> res new ArrayList<>();List<Integer> list new ArrayList<>();d…

【学习笔记】详解换根法(换根DP)

一.换根DP的概念 1.换根DP是什么&#xff1f; 换根DP&#xff0c;又叫二次扫描&#xff0c;是树形DP的一种。 2.换根DP能解决什么问题&#xff1f; 换根DP能解决不指定根结点&#xff0c;并且根节点的变化会对一些值产生影响的问题。例如子结点深度和、点权和等。如果要 暴力…

数据结构与算法:图论(邻接表板子+BFS宽搜、DFS深搜+拓扑排序板子+最小生成树MST的Prim算法、Kruskal算法、Dijkstra算法)

前言 图的难点主要在于图的表达形式非常多&#xff0c;即数据结构实现的形式很多。算法本身不是很难理解。所以建议精通一种数据结构后遇到相关题写个转换数据结构的接口&#xff0c;再套自己的板子。 邻接表板子&#xff08;图的定义和生成&#xff09; public class Graph…

C++ dfs 与图有关的知识(四十七)【第七篇】

今天我们接着来学习树上搜索&#xff08;dfs深度优先搜索&#xff09; 1.树的深度与子树大小 树的深度&#xff1a;规定根结点是树的第一层&#xff0c;树根的孩子结点是树的第二层&#xff0c;以此类推&#xff0c;树的深度就是结点的最大层数。 根据定义&#xff0c;如果我们…

备战蓝桥杯---搜索(剪枝)

何为剪枝&#xff0c;就是减少搜索树的大小。 它有什么作用呢&#xff1f; 1.改变搜索顺序。 2.最优化剪枝。 3.可行性剪枝。 首先&#xff0c;单纯的广搜是无法实现的&#xff0c;因为它存在来回跳的情况来拖时间。 于是我们可以用DFS&#xff0c;那我们如何剪枝呢&#…

pat a 1013 Battle Over Cities

1013 Battle Over Cities dfs确定连通块数量 const int N 1e6 10, M 2 * N, INF 0x3f3f3f3f; int n, m, k, h[N], e[M], ne[M], idx 0; bool visited[N]; void add(int a, int b) {e[idx] b, ne[idx] h[a], h[a] idx; }void dfs(int u, int x) {visited[u] true;for…

蓝桥杯每日一题-----数位dp练习

题目 链接 参考代码 写了两个&#xff0c;一个是很久以前写的&#xff0c;一个是最近刚写的&#xff0c;很久以前写的时候还不会数位dp所以写了比较详细的注释&#xff0c;这两个代码主要是设置了不同的记忆数组&#xff0c;通过这两个代码可以理解记忆数组设置的灵活性。 im…

【leetcode】深搜、暴搜、回溯、剪枝(C++)1

深搜、暴搜、回溯、剪枝&#xff08;C&#xff09;1 一、全排列1、题目描述2、代码3、解析 二、子集1、题目描述2、代码3、解析 三、找出所有子集的异或总和再求和1、题目描述2、代码3、解析 四、全排列II1、题目解析2、代码3、解析 五、电话号码的字母组合1、题目描述2、代码3…

备战蓝桥杯---搜索(进阶3)

看一道比较难又有趣的题&#xff1a; 下面是分析&#xff1a; 我们不妨把属性值看成点&#xff0c;一个装备可以看成一条边&#xff08;只能选一个端点&#xff09;不存在有装备属性值的当成一个点&#xff0c;于是我们便形成了树或图&#xff0c;如果是树的话&#xff0c;有一…

2 月 6 日算法练习- 深度优先搜索

砝码承重 【问题描述】 你有一架天平和 N 个砝码&#xff0c;这 N 个砝码重量依次是 W1,W2,...,WN。请你计算一共可以称出多少种不同的正整数重量&#xff1f;注意砝码可以放在天平两边。【输入格式】 输入的第一行包含一个整数 N。第二行包含 N 个整数&#xff1a;W1,W2,W3,.…

day29打卡

day29打卡 491. 非递减子序列 使用uset记录本层元素是否使用即可。 class Solution { public:vector<vector<int>> ret;vector<int> path;vector<vector<int>> findSubsequences(vector<int>& nums) {//不能排序&#xff0c;排序后…

【力扣 51】N 皇后(回溯+剪枝+深度优先搜索)

按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。 每一种…

「递归算法」:子集(两种解法)

一、题目 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[],[1],[2]…

「优选算法刷题」:数青蛙

一、题目 给你一个字符串 croakOfFrogs&#xff0c;它表示不同青蛙发出的蛙鸣声&#xff08;字符串 "croak" &#xff09;的组合。由于同一时间可以有多只青蛙呱呱作响&#xff0c;所以 croakOfFrogs 中会混合多个 “croak” 。 请你返回模拟字符串中所有蛙鸣所需不…

LeetCode 0094.二叉树的中序遍历:递归/迭代(栈模拟递归)

【LetMeFly】94.二叉树的中序遍历&#xff1a;递归/迭代(栈模拟递归) 力扣题目链接&#xff1a;https://leetcode.cn/problems/binary-tree-inorder-traversal/ 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root […

【王道数据结构】【chapter6图】【P258t7】

试编写 利用DFS实现有向无环图的拓扑排序的算法 #include <iostream> #define maxsize 10 typedef struct node{int data;struct node *next; }node ,*pnode;pnode buynode(int x) {pnode tmp(pnode) malloc(sizeof (node));tmp->datax;tmp->next nullptr;return t…

图搜索基础-深度优先搜索

图搜索基础-深度优先搜索 参考原理引入流程解析手推例子 代码实现运行结果结果分析 参考 理论参考&#xff1a;深蓝学院 实现参考&#xff1a;github项目 原理 引入 对于这样一个图&#xff0c;我们试图找到S到G的通路&#xff1a; 计算机程序不会像人眼一样&#xff0c;一…

搜索算法(算法竞赛、蓝桥杯)--双向DFS+二分查找

1、B站视频链接&#xff1a;B26 双向DFS 送礼物_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; int n,m; int g[46];//存储所有物品的质量 int w[1<<23];//存储所有能凑出来的重量 int ans,cnt;//w的个数是cnt//搜索第u个数&#xff0c;和为s; …

DFS中的连通性和搜索顺序

宽搜一般要手写一个队列&#xff0c;深搜一般是用系统栈来实现的。 DFS之连通性模型 1112. 迷宫 - AcWing题库 import java.util.*;public class Main{static int N 110, ha, la, hb, lb, n;static char[][] g new char[N][N];static boolean[][] st new boolean[N][N];st…

92. 递归实现指数型枚举 刷题笔记

思路 dfs 考虑选或者不选每个位置 用0表示未考虑 1表示选 2表示不选 用u表示搜索状态 u>n时 已经搜到底层了 需要输出当前方案 遍历 如果选了则输出 #include<iostream> using namespace std; int n; const int N16; int st[N]; void dfs(int u){ //u来记…

基础算法 bfs和dfs

bfs是一种基础的搜索算法&#xff0c;讲的是看看有多少种方法可以到达一个点 通过队列这一个数据结构来达到找到最小的距离&#xff08;不断的入栈出栈&#xff09; 下面用一道例题来讲解一下 这是代码 #include<bits/stdc.h> using namespace std;int dx[8] { 1, 1,…

【二叉搜索树】【递归】【迭代】Leetcode 700. 二叉搜索树中的搜索

【二叉搜索树】【递归】【迭代】Leetcode 700. 二叉搜索树中的搜索 二叉搜索树解法1 递归法解法2 迭代法 ---------------&#x1f388;&#x1f388;题目链接&#x1f388;&#x1f388;------------------- 二叉搜索树 二叉搜索树&#xff08;Binary Search Tree&#xff…

DAY65: 图论入门797、200、695

深度优先搜索 深度优先搜索按照一个方向一直搜索直到截止&#xff0c;再回溯换搜索方向。 搜索方向&#xff0c;是认准一个方向搜&#xff0c;直到碰壁之后再换方向换方向是撤销原路径&#xff0c;改为节点链接的下一个路径&#xff0c;回溯的过程 因为需要回溯&#xff0c;…

【C++从0到王者】第四十六站:图的深度优先与广度优先

文章目录 一、图的遍历二、广度优先遍历1.思想2.算法实现3.六度好友 三、深度优先遍历1.思想2.代码实现 四、其他问题 一、图的遍历 对于图而言&#xff0c;我们的遍历一般是遍历顶点&#xff0c;而不是边&#xff0c;因为边的遍历是比较简单的&#xff0c;就是邻接矩阵或者邻接…

DFS剪枝

剪枝 将搜索过程中一些不必要的部分剔除掉&#xff0c;因为搜索过程构成了一棵树&#xff0c;剔除不必要的部分&#xff0c;就像是在树上将树枝剪掉&#xff0c;故名剪枝。 剪枝是回溯法中的一种重要优化手段&#xff0c;方法往往先写一个暴力搜索&#xff0c;然后找到某些特…

图论 - DFS深度优先遍历、BFS广度优先遍历、拓扑排序

文章目录 前言Part 1&#xff1a;DFS&#xff08;深度优先遍历&#xff09;一、排列数字1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 二、n皇后问题1.问题描述输入格式输出格式数据范围输入样例输出样例 2.算法 三、树的重心1.问题描述输入格式输出格式数据范围…

【树】【图论】【树路径】【深度优先搜索】2867. 统计树中的合法路径数目

作者推荐 【广度优先搜索】【网格】【割点】【 推荐】1263. 推箱子 本文涉及知识点 树 图论 深度优先搜索 LeetCode:2867. 统计树中的合法路径数目 给你一棵 n 个节点的无向树&#xff0c;节点编号为 1 到 n 。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges &a…

【LeetCode:2476. 二叉搜索树最近节点查询 + 中序遍历 + 有序表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

java数据结构与算法刷题-----LeetCode513. 找树左下角的值

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 1. 深度优先 解题思路 先深度优先遍历左结点&#xff0c;获得可到达的最左…

每日OJ题_二叉树dfs⑥_力扣257. 二叉树的所有路径

目录 力扣257. 二叉树的所有路径 解析代码 力扣257. 二叉树的所有路径 257. 二叉树的所有路径 难度 简单 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输…

C语言数据结构与算法——深度、广度优先搜索(DFS、BFS)

目录 一、深度优先搜索&#xff08;Depth-First-Search 简称&#xff1a;DFS&#xff09; 无向图的深度优先搜索 有向图的深度优先搜索 二、广度优先搜索&#xff08;Breadth-First-Search 简称&#xff1a;BFS&#xff09; 无向图的广度优先搜索 有向图的广度优先搜索 深…

海智算法训练营第二十九天 | 第七章 回溯算法part05 | * 491.递增子序列* 46.全排列* 47.全排列 II

今日目标&#xff1a; 1.查找所有的非递减子序列 2.全排列 3.全排列II 1.查找所有的非递减子序列 题目&#xff1a;非递减子序列 原理&#xff1a;这道题不能用之前那种去重的方法&#xff0c;因为那些需要有序&#xff0c;这样只需要比较前后两个的值是否相同&#xff0c;而…

Unity性能优化篇(九) 模型优化之LOD技术概述以及操作方法

LOD模型优化技术概述: 1.LOD技术可以根据摄像头远近来显示不同精度的模型(例如吃鸡游戏 随着跳伞高度 来显示下面树木以及建筑的模型精度) LOD模型优化技术操作方法: 可使用Unity自带的LOD Group组件&#xff0c;并根据项目的情况来调整该组件的属性。Untiy资源商店也有一些其…

中序遍历+二分,LeetCode 2476. 二叉搜索树最近节点查询

一、题目 1、题目描述 给你一个 二叉搜索树 的根节点 root &#xff0c;和一个由正整数组成、长度为 n 的数组 queries 。 请你找出一个长度为 n 的 二维 答案数组 answer &#xff0c;其中 answer[i] [mini, maxi] &#xff1a; mini 是树中小于等于 queries[i] 的 最大值 。…

2.4日总结

第一题&#xff1a;选数 题解&#xff1a;思路还是很简单的&#xff0c;只需要想清楚dfs里的函数都是什么就可以了&#xff0c;还有一个简单的判断素数的函数&#xff0c;这题真没啥难度&#xff0c;就是属于基础题吧&#xff0c;请看AC代码 #include <stdio.h> #includ…

Unity性能优化篇(十) 模型优化之网格合并 Easy Mesh Combine Tool插件使用以及代码实现网格合并

把多个模型的网格合并为一个网格。可以使用自己写代码&#xff0c;使用Unity自带的CombineMeshes方法&#xff0c;也可以使用资源商店的插件&#xff0c;在资源商店搜Mesh Combine可以搜索到相关的插件&#xff0c;例如Easy Mesh Combine Tool等插件。 可大幅度减少Batches数量…

2024.2.25

P1135 #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N 10010; int n, A, B; int evlt[N]; int res 1e9; bool st[N]; //存每层楼走没走过 //当前在x楼, 当前按了cnt次按钮 void dfs(int x, int cnt) …

@ 代码随想录算法训练营第4周(C语言)|Day21(二叉树)

代码随想录算法训练营第4周&#xff08;C语言&#xff09;|Day21&#xff08;二叉树&#xff09; Day21、二叉树&#xff08;包含题目 ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先 &#xff09; 530.二叉搜索树的最小绝对差 题目…

【树上倍增】【割点】 【换根法】3067. 在带权树网络中统计可连接服务器对数目

作者推荐 视频算法专题 本文涉及知识点 树上倍增 树 图论 并集查找 换根法 深度优先 割点 LeetCode3067. 在带权树网络中统计可连接服务器对数目 给你一棵无根带权树&#xff0c;树中总共有 n 个节点&#xff0c;分别表示 n 个服务器&#xff0c;服务器从 0 到 n - 1 编号…

洛谷 P1731 [NOI1999] 生日蛋糕

题目 题目链接 自己没看题解写的&#xff0c;摸石头过河&#xff0c;解释一下 首先&#xff0c;输入输出都是正整数。先搞定输入&#xff0c;再判断条件&#xff0c;如果无解&#xff0c;输出0&#xff0c;否则输出蛋糕外表面面积Q&#xff08;这里用全局变量&#xff0c;开l…

Codeforces Round 240 (Div. 1) C. Mashmokh and Reverse Operation(分治+逆序对)

原题链接&#xff1a;C. Mashmokh and Reverse Operation 题目大意&#xff1a; 给出一个长度为 2 n 2^{n} 2n 的正整数数组 a a a &#xff0c;再给出 m m m 次操作。 每次操作给出一个数字 q q q &#xff0c;把数组分为 2 n − q 2^{n-q} 2n−q 个长度为 2 q 2^{q} 2…

【蓝桥杯】路径之谜(DFS)

一.题目描述 小明冒充 X 星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。 假设城堡地面是 nn 个方格。如下图所示。 按习俗&#xff0c;骑士要从西北角走到东南角。可以横向或纵向移动&#xff0c;但不能斜着走&#x…

【蓝桥杯基础算法】dfs(上)组合数,全排列

刚接触算法&#xff0c;有没有被递归又循环的dfs吓到&#xff1f;没关系&#xff0c;几个例题就可以彻底掌握&#xff01; 1.全排列 1-n的全排列,如输入3&#xff0c;按顺序对1-3进行排列 //枚举 #include<iostream> #include<algorithm> #include<cstring>…

LeetCode Python - 39.组合总和

目录 题目答案运行结果 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数…

深度优先算法DFS(Depth First Search)

一、基本思想 不撞南墙不回头 为了求得问题的解&#xff0c;先选择某一种可能情况向前探索&#xff1b;在探索过程中&#xff0c;一旦发现原来的选择是错误的&#xff0c;就退回一步重新选择&#xff0c;继续向前探索&#xff1b;如此反复进行&#xff0c;直至得到解或证明无解…

海智算法训练营第二十六天 | 第七章 回溯算法part02 | ● 216.组合总和III● 17.电话号码的字母组合

今日任务&#xff1a; 1.找到和为n的不重复组合 2.数字映射字母组合 1.找到和为n的不重复组合 题目&#xff1a;组合总和III 此题和组合总和II的题很像&#xff0c;只是在它的基础上加了计算总和&#xff0c;所以只需要在原先的基础上增加终止条件就好了。 终止条件&#xf…

搜索专项---DFS之搜索顺序

文章目录 马走日单词接龙分成互质组 一、马走日OJ链接 本题思路: #include <bits/stdc.h>constexpr int N15;int n,m;//棋盘大小 int x,y;//马的初始位置 bool st[N][N]; int ans;//方案数int dx[8] {-2, -1, 1, 2, 2, 1, -1, -2}; int dy[8] {1, 2, 2, 1, -1, -2, -…

【深度优先】【广度优先】Leetcode 104 二叉树的最大深度 Leetcode 111 二叉树的最小深度 Leetcode 110 平衡二叉树

【深度优先】【广度优先】Leetcode 104 二叉树的最大深度 Leetcode 111 二叉树的最小深度 Leetcode 110 平衡二叉树 Leetcode 104 二叉树的最大深度解法1 深度优先 递归法 后序&#xff1a;左右中解法2 广度优先&#xff1a;层序遍历 Leetcode 111 二叉树的最小深度解法1 深度…

【算法】递归、回溯、剪枝、dfs 算法题练习(组合、排列、总和问题;C++)

文章目录 1. 前言2. 算法题22.括号生成494.目标和39.组合总和784.字母大小写全排列[526. 优美的排列](https://leetcode.cn/problems/beautiful-arrangement/) 1. 前言 后面的练习是接着下面链接中的文章所继续的&#xff0c;在对后面的题练习之前&#xff0c;可以先将下面的的…

C++:第十一讲DFS深搜

Everyday English Your optimal career is simply this: Share the real you with physical world through th e process of creative self-expression. 你的最佳职业很简单&#xff0c;就是这样&#xff1a;通过创造性自我表达的途径和世界分享真实的你。 前言 今天带着大家…

【算法每日一练]-dfs bfs(保姆级教程 篇8 )#01迷宫 #血色先锋队 #求先序排列 #取数游戏 #数的划分

目录 今日知识点&#xff1a; 使用并查集映射点&#xff0c;构造迷宫的连通块 vis计时数组要同步当回合的处理 递归求先序排列 基于不相邻的取数问题&#xff1a;dfs回溯 n个相同球放入k个相同盒子&#xff1a;dfs的优化分支暴力 01迷宫 血色先锋队 求先序排列 取数游…

LeetCode刷题13:回溯+剪枝解决216.组合总和 III

找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 示例 1: 输入: k 3, n 7 输出: [[1,2,4]] 解…

搜索专题-深度搜索

文章目录 概念模板OJ练习迷宫可行路径数问题题目描述输入描述输出描述样例解释题解 指定步数的迷宫问题题目描述输入描述输出描述样例题解 概念 深度优先搜索(Depth-First-Search&#xff0c;DFS)类似于树的先序遍历。DFS的基本思想如下&#xff1a;首先访问图中某一起始顶点v…

【蓝桥杯/DFS】路径之谜 (Java)

路径之谜小明冒充X星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。假设城堡地面是 n x n 个方格。【如图1.png】所示。按习俗&#xff0c;骑士要从西北角走到东南角。 可以横向或纵向移动&#xff0c;但不能斜着走&…

【蓝桥杯/DFS】分考场 (Java)

分考场 题目描述 nnn 个人参加某项特殊考试。 为了公平&#xff0c;要求任何两个认识的人不能分在同一个考场。 求是少需要分几个考场才能满足条件。 输入描述 输入格式&#xff1a; 第一行&#xff0c;一个整数 nnn (1≤n≤1001 \leq n \leq 1001≤n≤100)&#xff0c;…

深度优先搜索DFS与记忆化搜索

深度优先搜索&#xff08;DFS&#xff09; 求连通块 &#x1f449;HDOJ-1241 Oil Deposits 【题目】石油勘探公司把油田分成许多的大格&#xff0c;每个大格又分为许多小格&#xff0c;然后分析各个小格是否有石油矿藏。有矿藏的小格&#xff08;用表示&#xff09;称为容器.…

Leetcode 2646. 最小化旅行的价格总和(暴力 DFS + 树形 DP)

Leetcode 2646. 最小化旅行的价格总和&#xff08;暴力 DFS 树形 DP&#xff09;题目 现有一棵无向、无根的树&#xff0c;树中有 n 个节点&#xff0c;按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges &#xff0c;其中 edges[i] [ai, bi] 表…

LeetCode 每日一题 Day 6(DFS+BFS)

1466. 重新规划路线 n 座城市&#xff0c;从 0 到 n-1 编号&#xff0c;其间共有 n-1 条路线。因此&#xff0c;要想在两座不同城市之间旅行只有唯一一条路线可供选择&#xff08;路线网形成一颗树&#xff09;。去年&#xff0c;交通运输部决定重新规划路线&#xff0c;以改变…

Day32- 贪心算法part06

一、单调递增的数字 题目一&#xff1a;738. 单调递增的数字 738. 单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递…

【算法每日一练]-结构优化(保姆级教程 篇5 树状数组)POJ3067日本 #POJ3321苹果树 #POJ2352星星 #快排变形

目录 今天知识点 求交点转化求逆序对&#xff0c;每次操作都维护一个y点的前缀和 树的变动转化成一维数组的变动&#xff0c;利用时间戳将节点转化成区间 离散化数组来求逆序对数 先将y排序&#xff0c;然后每加入一个就点更新求一次前缀和 POJ3067&#xff1a;日本 思路&…

【LeetCode题目拓展】第207题 课程表 拓展(拓扑排序、Tarjan算法、Kosaraju算法)

文章目录 一、拓扑排序题目二、题目拓展1. 思路分析2. tarjan算法3. kosaraju算法 一、拓扑排序题目 最近在看一个算法课程的时候看到了一个比较好玩的题目的扩展&#xff0c;它的原题如下&#xff1a; 对应的LeetCode题目为 207. 课程表 这个题目本身来说比较简单&#xff…

岛屿数量[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个由’1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接…

小项目:迷宫二

目录 引言一、题目描述二、解题思路三、代码实现四、测试 引言 这个迷宫项目是今天参加学校的一个比赛出的题目&#xff0c;从早上九点基本搞到了四五点才完成&#xff0c;其实写出来发现基本思路其实挺简单的&#xff0c;就是想不好想&#xff0c;真的要各种的尝试&#xff0…

Leetcode—113.路径总和II【中等】

2023每日刷题&#xff08;五十七&#xff09; Leetcode—113.路径总和II 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* …

SCC-Tarjan算法,强连通分量算法,从dfs到Tarjan详解

文章目录 前言定义强连通强连通分量 Tarjan算法原理及实现概念引入搜索树有向边的分类强连通分量的根时间戳追溯值 算法原理从深搜到TarjanTarjan算法流程Tarjan算法代码实现 OJ练习&#xff1a; 前言 强连通分量是图论中的一个重要概念&#xff0c;它在许多领域都有广泛的应用…

neuq-acm预备队训练week 9 P8604 [蓝桥杯 2013 国 C] 危险系数

题目背景 抗日战争时期&#xff0c;冀中平原的地道战曾发挥重要作用。 题目限制 题目描述 地道的多个站点间有通道连接&#xff0c;形成了庞大的网络。但也有隐患&#xff0c;当敌人发现了某个站点后&#xff0c;其它站点间可能因此会失去联系。 我们来定义一个危险系数 DF…

三、搜索与图论

DFS 排列数字 #include<iostream> using namespace std; const int N 10; int a[N], b[N]; int n;void dfs(int u){if(u > n){for(int i 1; i < n; i)cout<<a[i]<<" ";cout<<endl;return;}for(int i 1; i < n; i){if(!b[i]){b[…

第五章 图论 邻接矩阵存图

邻接矩阵存图 存储结构定义 #define MaxSize 10 // 图中最多顶点个数 typedef char DataType; typedef strcut{DataType vertex[MaxSize];int edge[MaxSize][MaxSize];int vertexNum, edgeNum; } Mgraph;建图 void CreateGraph(Mgraph *G, DataType a[], int n, int m){G-&g…

LCR 112. 矩阵中的最长递增路径【leetcode】/dfs+记忆化搜索

LCR 112. 矩阵中的最长递增路径 给定一个 m x n 整数矩阵 matrix &#xff0c;找出其中 最长递增路径 的长度。 对于每个单元格&#xff0c;你可以往上&#xff0c;下&#xff0c;左&#xff0c;右四个方向移动。 不能 在 对角线 方向上移动或移动到 边界外&#xff08;即不允…

★【递归】【构造二叉树】Leetcode 106.从中序与后序遍历序列构造二叉树

★【递归前序】【构造二叉树】Leetcode 106.从中序与后序遍历序列构造二叉树 105. 从前序与中序遍历序列构造二叉树 106.从中序与后序遍历序列构造二叉树:star:思路分析递归解法 105. 从前序与中序遍历序列构造二叉树递归解法 凡是构造二叉树>>>>>>>>&…

LeetCode 0938.二叉搜索树的范围和:深度优先搜索(可中序遍历)

【LetMeFly】938.二叉搜索树的范围和&#xff1a;深度优先搜索&#xff08;可中序遍历&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/range-sum-of-bst/ 给定二叉搜索树的根结点 root&#xff0c;返回值位于范围 [low, high] 之间的所有结点的值的和。…

【万题详解】DFS搜索专题合集(中)

课前C小程序&#xff08;关机&#xff0c;休眠&#xff0c;注销程序&#xff09; 有的时候我们需要让电脑在一段时间工作而不能关机&#xff0c;但是工作完成之后不关机会造成用电浪费&#xff0c;那么使用自动关机命令&#xff0c;就不用担心电脑一直开着会浪费电啦。夜里看电…

蓝桥杯2023年-岛屿个数(dfs,染色法)

题目描述 小蓝得到了一副大小为 M N 的格子地图&#xff0c;可以将其视作一个只包含字符‘0’&#xff08;代表海水&#xff09;和 ‘1’&#xff08;代表陆地&#xff09;的二维数组&#xff0c;地图之外可以视作全部是海水&#xff0c;每个岛屿由在上/下/左/右四个方向上相…

[210. 课程表 II] 拓扑排序模板(DFS+BFS)

Problem: 210. 课程表 II 文章目录 思路解题方法Code 思路 本题是经典拓扑排序模板&#xff0c;通过DFS和BFS两种方式进行实现。 解题方法 DFS DFS方法的重点在于如何标记节点状态&#xff0c;初做题者如果只用未访问和已访问两种状态很容易陷入死结。正确的做法是使用三种状…

LeetCode刷题日志-46.全排列

跟77题组合一样&#xff0c;在这里又遇到同样的问题&#xff0c;如果使用暴力解法&#xff0c;nums大小不同&#xff0c;使用的循环嵌套的层数也不同。那么这时候我们就需要使用暴力的解法。 我们看以下代码&#xff0c;如果nums [1,2,3]会输出什么&#xff1f; class Soluti…

[力扣 Hot100]Day50 二叉树中的最大路径和

题目描述 二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root &…

【数据结构与算法】动态规划法解题20240302

这里写目录标题 一、198. 打家劫舍1、动态规划五部曲 二、213. 打家劫舍 II 一、198. 打家劫舍 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间…

回溯例题(leetcode17/37)

文章目录 leetcode37leetcode17 回溯跟枚举差不多。要注意“回溯”&#xff0c;别忘记“回”之前把之前的改动都复原。 leetcode37 leetcode37是解数独问题。本题保证有且仅有唯一解。 思路&#xff1a;先把空格子的位置存下来&#xff0c;然后对每一个空位置挨个枚举1-9。枚…

洛谷 1136.奇怪的电梯

这道题其实用bfs会更加方便&#xff0c;这里的题目前面的测试点是卡的dfs的点&#xff0c;所以如果你用的dfs进行暴搜的话&#xff0c;前面的几个测试点就会TLE&#xff0c;因此需要用比较高效的bfs。这里就不讲bfs了&#xff0c;等到后面做到bfs的点之后再回过头来看&#xff…

力扣每日一题 受限条件下可到达节点的数目 DFS

Problem: 2368. 受限条件下可到达节点的数目 文章目录 思路复杂度Code 思路 &#x1f468;‍&#x1f3eb; 灵神 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) Code class Solution {int ans 0;boolean[] set;List<Integer>[] es;publ…

LeetCode:2368. 受限条件下可到达节点的数目(dfs Java)

目录 2368. 受限条件下可到达节点的数目 题目描述&#xff1a; 实现代码与解析&#xff1a; DFS 原理思路&#xff1a; 2368. 受限条件下可到达节点的数目 题目描述&#xff1a; 现有一棵由 n 个节点组成的无向树&#xff0c;节点编号从 0 到 n - 1 &#xff0c;共有 n - …

Glycosaminoglycans Assay Kit(糖胺聚糖检测试剂盒)--Chondrex

糖胺聚糖&#xff08;glycosaminoglycans&#xff0c;GAGs&#xff09;是一种携带负电荷的多糖链&#xff0c;位于大多数结缔组织和许多不同类型细胞的细胞外基质&#xff08;extracellular matrices, ECM&#xff09;中以及细胞表面上。由重复双糖单位复合构成的糖胺聚糖可分为…

算法竞赛备赛进阶之树形DP训练

目录 1.树的最长路径 2.树的中心 3.数字转换 4.二叉苹果树 5.战略游戏 6.皇宫守卫 树形DP是一种动态规划方法&#xff0c;主要用于解决树形结构的问题。在树形DP中&#xff0c;通常会使用动态规划的思想来求解最优化问题。其核心在于通过不断地分解问题和优化子问题来解决…

【算法】递归入门

文章目录 一、基础知识二、刷题实战1. 汉诺塔问题2. 合并两个有序链表3. 反转链表4. 快速幂 三、技巧总结 一、基础知识 什么是递归&#xff1a; 函数自己调用自己 什么时候能用递归&#xff1a; 有重复子问题 如何看待递归函数&#xff1a; 看作一个黑盒 如何编写递归代码…

算法:BFS宽度优先遍历

文章目录 BFS与Queue相结合N叉树的层序遍历二叉树的锯齿形层序遍历二叉树的最大宽度 BFS和FLoodFill相结合图像渲染岛屿数量岛屿的最大面积 本篇总结的是BFS算法&#xff0c;BFS算法相比起DFS算法来说还是比较简单的 BFS与Queue相结合 N叉树的层序遍历 /* // Definition for …

冒泡排序/选择排序/插入排序/快速排序/归并排序/桶排序/堆排序/希尔排序/计数排序/基数排序/二分查找/广度优先搜索/深度优先搜索

排序算法&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09;&#xff1a;通过重复地比较相邻的元素并交换它们&#xff0c;使得最大&#xff08;或最小&#xff09;的元素逐渐移动到列表的一端&#xff0c;从而实现排序。 选择排序&#xff08;Selection Sort&#xf…

「优选算法刷题」:搜索插入位置

一、题目 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2示例…

C++ dfs的状态表示(五十二)【第十二篇】

今天是对于之前的问题改进 1.k个数求和 对于前面 k 个数的和的求法&#xff0c;我们除了可以用上面的 DFS 方法以后&#xff0c;还有一种搜索策略。 之前的方法是每次去抉择是否选择第 i 个数&#xff0c;现在我们的策略是从剩下的数中选择一个数。比如有 5 个数 1,2,3,4,5…

【深度优先】【广度优先】Leetcode 104 二叉树的最大深度 Leetcode 110 二叉树的最小深度

【深度优先】【广度优先】Leetcode 104 二叉树的最大深度 Leetcode 104 二叉树的最大深度解法1 深度优先 递归法 后序&#xff1a;左右中解法2 广度优先&#xff1a;层序遍历 Leetcode 110 二叉树的最小深度解法1 深度优先&#xff1a;递归 后序遍历 左右中解法2 广度优先&…

洛谷 P1019 [NOIP2000 提高组] 单词接龙

参考代码 #include <bits/stdc.h> using namespace std; string s[25]; int vis[25], ans, now 1, n; void dfs(int k) { ans max(ans, now); for(int i 1; i < n; i) if(vis[i] < 2) { for(int j 0; j < s[k].length(); j) …

259.【华为OD机试真题】特殊的加密算法(深度优先搜索(DFS)-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-特殊的加密算法二.解题思路三.题解代码Python题…

LeetCode 1349. 参加考试的最大学生数,状压DP

一、题目 1、题目描述 给你一个 m * n 的矩阵 seats 表示教室中的座位分布。如果座位是坏的&#xff08;不可用&#xff09;&#xff0c;就用 # 表示&#xff1b;否则&#xff0c;用 . 表示。 学生可以看到左侧、右侧、左上、右上这四个方向上紧邻他的学生的答卷&#xff0c;但…

※【回溯】【深度优先前序】Leetcode 257. 二叉树的所有路径

※【回溯】【深度优先前序】Leetcode 257. 二叉树的所有路径 解法0 迭代法解法1 深度优先 前序解法2 深度优先 前序 添加了StringBulider ---------------&#x1f388;&#x1f388;257. 二叉树的所有路径 题目链接&#x1f388;&#x1f388;------------------- 解法0 迭代法…

「优选算法刷题」:两数之和

一、题目 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任…

蓝桥杯倒计时47天!DFS基础——图的遍历

倒计时47天&#xff01; 深度优先搜索——DFS 温馨提示&#xff1a;学习dfs之前最好先了解一下递归的思想。 DFS基础——图的遍历 仙境诅咒 问题描述 在一片神秘的仙境中&#xff0c;有N位修仙者&#xff0c;他们各自在仙境中独立修炼&#xff0c;拥有自己独特的修炼之道…

java数据结构与算法刷题-----LeetCode653. 两数之和 IV - 输入二叉搜索树

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 前序遍历加hash2. 中序遍历双指针 1. 前序遍历加hash 解题思…

洛谷 1019.单词接龙

这道题用的搜索&#xff0c;也就是DFS&#xff0c;但是有一点难度&#xff0c;虽然说是对于搜索的知识点的考察&#xff0c;但是对于编程者的编程模拟能力和分析能力会有比较大的要求。 思路&#xff1a;首先我们审题&#xff0c;会注意到以下几点&#xff1a; 1.单词后面相同…

洛谷 1025.数的划分

这道题用的知识点是DFS剪枝。难的不在DFS上&#xff0c;而是在剪枝上如何选择。 思路&#xff1a;这道题我们看到是按照字典序排的&#xff0c;但是&#xff0c;我们注意到&#xff0c;看似是全排列的递归&#xff0c;实则不是。 我们前面也了解过&#xff0c;全排列的数字大…

力扣图论篇

以下思路来自代码随想录以及官方题解。 文章目录 797.所有可能的路径200.岛屿数量130.被围绕的区域1020.飞地的数量 797.所有可能的路径 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不…

Peter算法小课堂—并查集

我们先来看太戈编程467题 攀亲戚 题目描述&#xff1a; 最近你发现自己和古代一个皇帝长得很像&#xff1a;都有两个鼻子一个眼睛&#xff0c;你想知道这皇帝是不是你的远方亲戚&#xff0c;你是不是皇亲国戚。目前你能掌握的信息有m条&#xff0c;关于n个人&#xff1a;第i条…

蓝桥杯-dfs(一)

&#x1f4d1;前言 本文主要是【算法】——dfs使用的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一句&#xff1…

day15打卡

day15打卡 226. 翻转二叉树 递归解法&#xff1a; 时间复杂度&#xff1a;O(N)&#xff0c;空间复杂度&#xff1a;O(N) class Solution { public:TreeNode* invertTree(TreeNode* root) {//出口if(root nullptr) return root;swap(root->left, root->right);TreeNo…

字符串二叉树遍历

假定一棵二叉树的每个结点都用一个大写字母描述。给定这棵二叉树的前序遍历和中序遍历&#xff0c;求其后序遍历。 输入格式 输入包含多组测试数据。每组数据占两行&#xff0c;每行包含一个大写字母构成的字符串&#xff0c;第一行表示二叉树的前序遍历&#xff0c;第二行表示…

DFS(指数型枚举)

从 1∼n 这 n 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。 输入格式 输入一个整数 n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列&#xff0c;相邻两个数用恰好 11 个空格隔开。 对于没有选任何数的方案&#xff0c;输出空行。 本题有自定义校…

P2404 自然数的拆分问题 深度优先搜索

文章目录 题目链接题目描述解题思路代码实现总结 题目链接 链接: P2404 自然数的拆分问题 题目描述 解题思路 题目的目标是在给定一个正整数 n 的情况下&#xff0c;找出所有和为 n 的正整数序列&#xff08;从 1 开始&#xff09;。具体来说&#xff0c;代码中的dfs函数是一…

DFS——连通性和搜索顺序

dfs的搜索是基于栈&#xff0c;但一般可以用用递归实现&#xff0c;实际上用的是系统栈。有内部搜索和外部搜索两种&#xff0c;内部搜索是在图的内部&#xff0c;内部搜索一般基于连通性&#xff0c;从一个点转移到另一个点&#xff0c;或者判断是否连通之类的问题&#xff0c…

【算法】{画决策树 + dfs + 递归 + 回溯 + 剪枝} 解决排列、子集问题(C++)

文章目录 1. 前言2. 算法例题46.全排列78.子集 1. 前言 dfs问题 我们已经学过&#xff0c;对于排列、子集类的问题&#xff0c;一般可以想到暴力枚举&#xff0c;但此类问题用暴力解法 一般都会超时&#xff0c;时间开销过大。对于该种问题&#xff0c;重点在于尽可能详细的 画…

蓝桥杯 砝码称重 dp/dfs

题目链接&#xff1a; https://www.lanqiao.cn/problems/1447/learning/?subject_code1&group_code4&match_num12&match_flow1&origincup 思想&#xff1a;dfs暴力枚举过一半的分 代码&#xff1a; #include<bits/stdc.h> using namespace std;#def…

290.【华为OD机试】连续出牌数量(深度优先搜索DFS—JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…

洛谷P1454 圣诞夜的极光(bfs,dfs判断图的连通性)

用bfs&#xff0c;dfs判断图的连通性&#xff0c;核心在于&#xff0c;搜到合法的某点&#xff0c;把于其联通的点全找到并记录或改判 题目链接 ACcode(dfs) #include<bits/stdc.h>using namespace std;int n, m; char a[105][105]; int ans 0;int xx[12] { 0,0,1,-1…

DFS之剪枝与优化

剪枝 1.优化搜索顺序&#xff1a;在大部分情况下&#xff0c;我们应该优先搜索分支较少的结点 2.排除等效冗余&#xff08;在不考虑顺序的情况下&#xff0c;尽量用组合的方式来搜索&#xff09; 3.可行性剪枝 4.最优性剪枝 5.记忆化搜索 165. 小猫爬山 - AcWing题库 import …

蓝桥杯 货物摆放 (三个数的乘积 1e16 dfs)

题目链接&#xff1a; https://www.lanqiao.cn/problems/1463/learning/?subject_code1&group_code4&match_num12&match_flow1&origincup 思想&#xff1a;两个循环 1e5*1e5 虽然会超时 但是是填空题 正解是dfs &#xff0c;先找出 n 的因子。 暴力代码&…

回溯算法套路②组合型回溯+剪枝【基础算法精讲 15】

学习地址 : 回溯算法套路②组合型回溯剪枝【基础算法精讲 15】_哔哩哔哩_bilibili 回顾 &#xff1a; 从n 个数中选出k个数的组合 &#xff0c; 可以看成是长度固定的子集 ; 剪枝技巧 : 77 . 组合 链接 : . - 力扣&#xff08;LeetCode&#xff09; 枚举下一个元素选…

代码随想录算法训练营(JAVA)| 第六章 二叉树 part02

今日任务 力扣 102. 二叉树的层序遍历&#xff0c; 226. 翻转二叉树&#xff0c; 101. 对称二叉树 题目 &#xff1a;102. 二叉树的层序遍历 思路 看到层序遍历 很快啊 就直接想到了 BFS 用队列去做 层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。这种遍…

蓝桥杯每日一题:烤鸡dfs

这道题考察了dfs的应用&#xff0c;题干十分有趣&#xff0c;思考过程对以后类似题目也有很强的参考性&#xff0c;一起来学习吧&#xff01; 题目&#xff1a; # 烤鸡 ## 题目背景 猪猪 Hanke 得到了一只鸡。 ## 题目描述 猪猪 Hanke 特别喜欢吃烤鸡&#xff08;本是同畜…

试题 算法训练 强力党逗志芃

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 逗志芃励志要成为强力党&#xff0c;所以他将身上所以的技能点都洗掉了重新学技能。现在我们可以了解到&#xff0c;每个技能…

【LeetCode: 212. 单词搜索 II - dfs】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

P10095 [ROIR 2023 Day 1] 斐波那契乘积

难度&#xff1a;普及/提高- 题目背景 翻译自 ROIR 2023 D1T2。 斐波那契数指斐波那契数列&#xff08;f0​1,f1​1,fi​fi−2​fi−1​&#xff09;中出现的数。 题目描述 给定一个自然数 n&#xff0c;求出将其表示为大于 1 的斐波那契数的乘积的方式数量。 输入格式 …

<DFS剪枝>数字王国之军训排队

其实就是将搜索过程一些不必要的部分直接剔除掉。 剪枝是回溯法的一种重要优化手段&#xff0c;往往需要先写一个暴力搜索&#xff0c;然后找到某些特殊的数学关系&#xff0c;或者逻辑关系&#xff0c;通过它们的约>束让搜索树尽可能浅而小&#xff0c;从而达到降低时间复杂…

Unity性能优化篇(十二) 音频优化之导入音频后的属性设置

Unity支持后缀为.wav、.ogg、.mp3的音频文件&#xff0c;但建议使用.wav&#xff0c;因为Unity对它的支持特别好。 注意&#xff1a;Unity在构建项目时总是会自动重新压缩音频文件&#xff0c;因此无需刻意提前压缩一个音频文件再导入Unity&#xff0c;因为这样只会降低该音频文…

搜索与图论(一)树的遍历/深度/广度/拓扑排序

文章目录 搜索与图论树与图的深度优先遍历举个栗子树的重心思路结论代码如下 树与图的广度优先遍历举个例子图中点的层次样例展示代码 拓扑排序啥是拓扑排序?解题思路举个栗子题目代码如下 搜索与图论 树与图的深度优先遍历 举个栗子 树的重心 思路 邻接表存储 for(int i1…

【图论】树链剖分

本篇博客参考&#xff1a; 【洛谷日报#17】树链剖分详解Oi Wiki 树链剖分 文章目录 基本概念代码实现常见应用路径维护&#xff1a;求树上两点路径权值和路径维护&#xff1a;改变两点最短路径上的所有点的权值求最近公共祖先 基本概念 首先&#xff0c;树链剖分是什么呢&…

买瓜(dfs+剪枝)

题目描述 小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个瓜&#xff0c;每个瓜的重量为 Ai 。 小蓝刀功了得&#xff0c;他可以把任何瓜劈成完全等重的两份&#xff0c;不过每个瓜只能劈一刀。 小蓝希望买到的瓜的重量的和恰好为 m 。 请问小蓝至少要劈多少个瓜才能买到重量恰好…

力扣--动态规划/深度优先算法/回溯算法93.复原IP地址

这题主要用了动态规划和回溯算法。 动态规划数组初始化&#xff08;DP数组&#xff09;: 首先&#xff0c;创建一个二维数组dp&#xff0c;用于记录字符串中哪些部分是合法的IP地址。对字符串进行遍历&#xff0c;同时考虑每个可能的IP地址部分&#xff08;每部分由1到3个字符组…

力扣每日练习(3.18)补

200. 岛屿数量 岛屿是指上下左右都是被0包起来的。使用递归的方式&#xff0c;也就是深度优先搜索&#xff0c;需要确定终止条件&#xff0c;也就是badcase是什么情况出现的。 二叉树是递到叶子节点的时候&#xff0c;因为下面是空子树了&#xff1b;矩阵就是越界&#xff0c;…

力扣--深度优先算法/回溯算法90.子集Ⅱ

思路分析&#xff1a; 成员变量&#xff1a; result: 用于存储最终的子集结果。path: 用于存储当前正在构建的子集。 DFS函数&#xff1a; dfs(vector<int>& nums, int start): 递归地生成子集。 从给定的start索引开始遍历数组。如果当前元素与前一个元素相同&#…

迷宫641更优解——蓝桥杯2017

1.优解思路&#xff1a; 秒啊&#xff1a;如果这条路可以走通&#xff0c;则这条路上所有点都可以走通&#xff0c;反之若不可以&#xff0c;则都不可以。 因为比如一个点走了&#xff0c;没走通&#xff0c;这条路上的点都出不去&#xff0c;假如有别的点走路走到这条死路上…

算法学习10:DFS与BFS

算法学习10&#xff1a;算法学习10&#xff1a;DFS与BFS 文章目录 算法学习10&#xff1a;算法学习10&#xff1a;DFS与BFS前言要记忆的模版&#xff1a;一、DFS1.例题1&#xff1a;全排列问题2.例题2&#xff1a;n皇后问题另外一种解法&#xff1a;不按行遍历 二、BFS1.例题&a…

P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

题目链接&#xff1a;P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 解题思路&#xff1a; 最优路径问题&#xff0c;首先想到dfs深度优先搜索&#xff0c;一直往下走再回溯上一格换个方向走 下面是c代码&#xff1a…

力扣--深度优先算法/回溯算法47.全排列 Ⅱ

思路分析&#xff1a; 使用DFS算法进行全排列&#xff0c;递归地尝试每个可能的排列方式。使用 path 向量保存当前正在生成的排列&#xff0c;当其大小达到输入数组的大小时&#xff0c;将其加入结果集。使用 numvisited 向量标记每个数字是否已经被访问过&#xff0c;以确保每…

力扣77-组合

组合问题 题目链接 class Solution { private:vector<vector<int>> ans;//保存结果vector<int> path;//保存符合条件的结果void dfs(int n,int k,int startindex){if(path.size() k){ans.push_back(path);//表明找到了符合条件的结果&#xff0c;将其保存…

[leetcode] 44. 通配符匹配

文章目录 题目描述解题方法dfs 动态规划java代码复杂度分析 相似题目 题目描述 给你一个输入字符串 (s) 和一个字符模式 (p) &#xff0c;请你实现一个支持 ? 和 * 匹配规则的通配符匹配&#xff1a; ? 可以匹配任何单个字符。* 可以匹配任意字符序列&#xff08;包括空字…

07 数据结构之图

# Makefile CCgcc CFLAGS -g -Wall SRCStest.c graph.c link_queue.c OBJS$(SRCS:.c.o) #variable replace APPtestall:$(OBJS) #指定一个目标&#xff0c; 不然默认目标不会检查依赖文件的时间戳$(CC) $(SRCS) -o $(APP) .PH…

图文并茂讲解Travelling Salesman

题目 思路 一道lca板子题&#xff0c;不会的同学可以先康康 详解最近公共祖先(LCA)-CSDN博客 我们可以发现&#xff0c;商人是从1开始&#xff0c;旅行到第一个城镇&#xff0c;再到第二个&#xff0c;第三个…… 那么我们只需要求出1~第一个城镇的距离&#xff0c;第一个城…

备战蓝桥杯---搜索(应用基础1)

话不多说&#xff0c;直接看题&#xff1a; 显然&#xff0c;我们直接用深搜&#xff0c;我们可以先把空位用结构体存&#xff0c;然后打表存小方块&#xff0c;再用数组存行列。 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int a[12][12];…

LeetCode、17. 电话号码的字母组合【中等,dfs回溯】

文章目录 前言LeetCode、17. 电话号码的字母组合【中等&#xff0c;dfs回溯】题目与类型思路递归回溯优化&#xff1a;StringBuilder来回溯补充代码&#xff1a;2024.1.31&#xff08;简化&#xff09; 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博…

第四十九章 动态规划——树形DP模型

第四十九章 动态规划——树形DP模型一、树形DP二、例题1、背包模型 树形DP&#xff08;1&#xff09;AcWing 10. 有依赖的背包问题&#xff08;2&#xff09;AcWing 1074. 二叉苹果树2、状态机DP 树形DP&#xff08;1&#xff09;AcWing 285. 没有上司的舞会&#xff08;2&am…

二叉搜索树之AVL树

AVL树的概念二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。因此&#xff0c;两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年 发明了一种解决上…

算法 - 剑指Offer I. 二叉树的深度

题目 输入一棵二叉树的根节点&#xff0c;求该树的深度。从根节点到叶节点依次经过的节点&#xff08;含根、叶节点&#xff09;形成树的一条路径&#xff0c;最长路径的长度为树的深度。 解题思路 这题很简单&#xff0c; 这里列出BFS和DFS得到解题方式&#xff0c;分别用队…

【DFS并查集】岛屿数量

经典的dfs/bfs问题&#xff0c;给一个起点开始搜索&#xff0c;满足条件则继续调用dfs/bfs 从没有访问过的某个陆地出发&#xff0c;将所有能到达的陆地的状态都记录为已访问。下次出发不从已访问的陆地出发&#xff0c;每次出发前都把岛屿数 1即可 class Solution { public…

LeetCode-111. 二叉树的最小深度

目录题目分析递归法题目来源111. 二叉树的最小深度题目分析 这道题目容易联想到104题的最大深度&#xff0c;把代码搬过来 class Solution {public int minDepth(TreeNode root) {return dfs(root);}public static int dfs(TreeNode root){if(root null){return 0;}int left…

06分支限界法

文章目录八数码难题普通BFS算法全局择优算法&#xff08;A算法&#xff0c;启发式搜索算法&#xff09;单源最短路径问题装载问题算法思想&#xff1a;队列式分支限界法优先队列式分支限界法布线问题最大团问题批处理作业调度问题分支限界法与回溯法的区别&#xff1a; &#x…

【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目

作者推荐 视频算法专题 本博文涉及知识点 深度优先搜索 树 图论 分类讨论 LeetCode2973. 树中每个节点放置的金币数目 给你一棵 n 个节点的 无向 树&#xff0c;节点编号为 0 到 n - 1 &#xff0c;树的根节点在节点 0 处。同时给你一个长度为 n - 1 的二维整数数组 edges…

AtCoder Beginner Contest 289 题解

D 大意&#xff1a; 格子阶梯&#xff0c;给定一步可以走的步数选择&#xff0c;不能后退&#xff0c;问从0开始能否走到n 思路&#xff1a; dfs记忆化 code #include<bits/stdc.h> using namespace std; #define ll int #define endl \n const ll N2e510; ll n,m; l…

剑指Offer专项突击版题解三

21.删除链表倒数第k个节点 思路&#xff1a;采用先遍历k个位置&#xff0c;在用双指针同时遍历。 22.找到链表环的入口 思路&#xff1a;map、判圈法&#xff08;先一步两步、找到哟圈之后在一步一步就会找到入口&#xff09; 23.两个链表的第一个重合点 思路&#xff1a;总会相…

2/12考试总结

时间安排 8:30–8:50 读题&#xff0c;T1 不知道是个啥,T2是个dp &#xff0c;T3可能也是 dp 之类的。 8:50–9:30 T1&#xff0c;读了好几遍才理解了题意&#xff0c;对于部分分有爆搜。考虑正解&#xff0c;想到预处理后O(1) 查询&#xff0c;问题是如何由已知的信息得到所有…

蓝桥杯2023年真题(3)

1.冶炼金属&#xff08;二分、数学&#xff09; //二分 #include <iostream> using namespace std;int get1(int a, int b){int l 0, r 1e9;while(l 1 < r){int mid (l r) / 2;if(a / mid < b) r mid;else l mid;}return r; }int get2(int a, int b){int l …

学习笔记17:AtCoder Beginner Contest 340

C C - Divide and Divide (atcoder.jp) 1e17暴力肯定不行 模拟暴力的过程我们发现很多运算是重复的 记忆化一下 #include<iostream> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<vector> #incl…

洛谷: P1479 宿舍里的故事之五子棋

题目链接: https://www.luogu.com.cn/problem/P1479 思路: 这道题目可以打表或者搜索。每个位置有选择/不选择两种情况。搜索的时候我们一行一行的搜索&#xff0c;直到使用的棋子达到n为止。b[i]为五子连线的数量&#xff0c;b[i] 1表示五子连线的数量可以取i&#xff0c;在…

华为OD机试真题Python实现【最小传递延迟】真题+解题思路+代码(20222023)

🔥系列专栏 华为OD机试(Python)真题目录汇总华为OD机试(JAVA)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出说明解题思路核心知识点Python 代码实现代码运行结果

UVa 225 Golygons 黄金图形 暴力搜索 剪枝 状态判断

题目链接&#xff1a;Golygons 题目描述&#xff1a; 给定nnn和kkk个障碍物的坐标&#xff0c;你需要走nnn次&#xff0c;第一次走一个单位距离&#xff0c;第二次走二个单位距离&#xff0c;…&#xff0c;第nnn次走nnn个单位距离。走得过程中不能穿过或者到达障碍物所在的点&…

【数据结构与算法】3.(单向、无向、带权)图,广度、深度优先搜索,贪心算法

文章目录1.图简介2.图的存储方式2.1.邻接矩阵存储方法2.2.邻接表存储方法3.有向、无向图和查询算法3.1.数据结构3.2.广度优先算法BFS3.3.深度优先算法DFS3.3.1.DFS查询单条路径3.3.2.DFS查询所有路径4.带权图和贪心算法4.1.贪心算法4.2.基于带权无向图使用贪心算法查询最优路径…

蓝桥ACM培训-搜索

前言&#xff1a; 今老师讲了了dfs,虽然我自己之前也自学了一点点&#xff0c;但我还是感觉做题并不是很顺&#xff0c;尤其是今天最后一题&#xff0c;我调试了一下午都没过&#xff0c;还需要积累经验呀。 正文&#xff1a; Problem:A 白与黑-搜索&#xff1a; #include &l…

七段码蓝桥杯python解法(DFS)

题目描述 解题思路 其实和从某点出发的迷宫路径一样&#xff0c;只不过这个只要字母一样就都算一个比如bcd和cbd都算一个所以最后要排序set一下。直接用dfs遍历求解 代码 # 初始化数据dict {a: [f, b], b: [a, c, g], c: [b, d, g],d: [e, c], e: [d, f, g], f: [a, e, g],g…

2/26 考试总结

时间安排 8:30–8:50 读题,T1貌似最可做一些。 8:50–9:40 T1,有暴力的状压 dp 。考虑正解怎么做&#xff0c;一个暴力的想法是枚举最后一个区间是哪个&#xff0c;那么要计算两边都被覆盖的方案数&#xff0c;这个有个大致想想法。 9:40–10:00 T2, f 可以用线形基求&#xf…

【PAT甲级题解记录】1110 Complete Binary Tree(25 分)

【PAT甲级题解记录】1110 Complete Binary Tree(25 分) 前言 Problem&#xff1a;1110 Complete Binary Tree (25 分) Tags&#xff1a;完全二叉树 二叉树的层序遍历 BFS DFS Difficulty&#xff1a;剧情模式 想流点汗 想流点血 死而无憾 Address&#xff1a;1110 Complete Bi…

ZOJ-搜索专题

1002 题意 思路 深搜&#xff0c;每个格子都搜一遍。技巧dfs(cnt,ans)dfs(第几个格子&#xff0c;答案)&#xff1b; 代码 #include <iostream>using namespace std;int n,i,j,ans; char s[5][5];int c_put(int n,int m) {for (i n-1;i > 0;i --) {if (s[i][m] …

Educational Codeforces Round 144 (Rated for Div. 2) E

人菜瘾大还是忍不住打了这场比赛&#xff0c;b卡了半小时&#xff0c;甚至还写了一个最长公共子序列然后喜提wa2&#xff0c;但是c,d还是过的比较快&#xff0c;最后排名rk175有惊无险的上分了&#xff0c;e题赛时一眼想出思路&#xff0c;但是我的实现能力有限&#xff0c;没能…

【蓝桥杯试题】递归实现排列型枚举

&#x1f483;&#x1f3fc; 本人简介&#xff1a;男 &#x1f476;&#x1f3fc; 年龄&#xff1a;18 &#x1f91e; 作者&#xff1a;那就叫我亮亮叭 &#x1f4d5; 专栏&#xff1a;蓝桥杯试题 文章目录1. 题目描述2. 代码展示法一&#xff1a;dfs法二&#xff1a;next_perm…

二叉树遍历原理 | 深度优先-广度优先 | 栈-队列

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 14天阅读挑战赛 文章目录二叉树遍历原理队列和栈区别深度优先遍历(DFS)前序遍历(根-左-右)中序遍历(左-根-右)后序遍历(左-右-根)广度优先遍历(BFS)逐层遍历(上-下 | …

「PAT甲级真题解析」Advanced Level 1004 Counting Leaves

PAT (Advanced Level) Practice 1004 Counting Leaves 问题分析 题设要求按照从根结点开始自顶向下输出树结构每一层的叶子结点数目。这意味着我们需要设置计数器, 然后遍历树的每一个结点, 然后检查该结点是否是叶子结点, 如果是叶子结点, 则将计数器中该层次叶子结点个数1…

0092 图

import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; /* * 图 * 图是一种数据结构&#xff0c;其中节点可以具有零个或多个相邻元素。 * 两个节点之间的连接称为边&#xff0c;结点也成为顶点 * * 常用概念 * 1.顶点 * 2.边 * 3.路径…

刷题记录:牛客NC202475树上子链

传送门:牛客 题目描述: 给定一棵树 T &#xff0c;树 T 上每个点都有一个权值。 定义一颗树的子链的大小为&#xff1a;这个子链上所有结点的权值和 。 请在树 T 中找出一条最大的子链并输出。 输入: 5 2 -1 -1 -2 3 1 2 2 3 2 4 2 5 输出: 4一道简单的树形dp的题目,但是有一…

Java——电话号码的字母组合

题目链接 leetcode在线oj题——电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 题目示例…

力扣113题引发的关于DFS和回溯的一点思考

最近刚学回溯和DFS&#xff0c;刷力扣遇到一道题&#xff08;113题&#xff09;&#xff0c;如下&#xff1a; 我们不细究回溯和DFS的区别联系。关于这道题的2种写法&#xff0c;我把第一种称为回溯。 class Solution {List<List<Integer>> res new LinkedList&l…

2049. 统计最高分的节点数目-数组树构造+遍历求解最大值数目

2049. 统计最高分的节点数目-数组树构造遍历求解最大值数目 给你一棵根节点为 0 的 二叉树 &#xff0c;它总共有 n 个节点&#xff0c;节点编号为 0 到 n - 1 。同时给你一个下标从 0 开始的整数数组 parents 表示这棵树&#xff0c;其中 parents[i] 是节点 i 的父节点。由于…

hdoj 3549 Flow Problem 【最大流】

题目&#xff1a;hdoj 3549 Flow Problem 题意&#xff1a;给出一个图&#xff0c;让你求最大流。 分析&#xff1a;这个题目用dinci写的&#xff0c;因为点比较少&#xff0c;而dinci复杂度O&#xff08;m*n^2&#xff09;,但是还是跑了160ms&#xff0c;不知道15的神牛怎么写…

Day39——Dp专题

文章目录01背包二维数组一维数组6.整数拆分7.不同的二叉搜索01背包 01背包&#xff1a;每一个物品只能选一次&#xff0c;选或者不选 状态标识&#xff1a;f[i][j]&#xff1a;所有只考虑前i个物品&#xff0c;且总体积不超j的所有选法的集合 属性&#xff1a;Max 状态计算&a…

花括号展开II[栈模拟dfs]

栈模拟dfs前言一、花括号展开II二、栈模拟dfs总结参考资料前言 递归调用&#xff0c;代码非常的简洁。但是可以通过显式栈来模拟栈中的内容&#xff0c;锻炼自己的代码能力&#xff0c;清楚知道栈帧中需要的内容。 一、花括号展开II 二、栈模拟dfs 每碰到一个左括号&#xf…

#P12365. 相逢是首歌

Description monkey A与monkey B住在一颗树上&#xff0c;每天他们都会相约一起出去玩。 q次询问&#xff0c;每次询问给两个点x和y&#xff0c;代表他们各自的出发点&#xff0c;他们以相同的速度&#xff0c;沿着二者的最短路前进. 问二者会在点上相遇&#xff0c;还是在边…

【leetcode】543 二叉树的直径,递归解以及栈解

题目 给定一棵二叉树&#xff0c;你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 : 给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,…

【算法基础】二分图(染色法 匈牙利算法)

一、二分图 1. 染色法 一个图是二分图,当且仅当,图中不含奇数环。在判别一个图是否为二分图⑩,其实相当于染色问题,每条边的两个点必须是不同的颜色,一共有两种颜色,如果染色过程中出现矛盾,则说明不是二分图。 for i = 1 to n:if i 未染色DFS(i, 1); //将i号点染色未…

leetcode 54. 螺旋矩阵

题目链接&#xff1a;leetcode 54 1.题目 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 2.示例 1&#xff09;示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,…

【笔试强训】(红与黑,五子棋,走迷宫)DFS+BFS算法解析

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: 笔试强训专栏 深度优先遍历&#xff08;Depth First Search, 简称 DFS&#xff09; 与广度优先遍历&#xff08;Breath First Search&#xff09;是图论中两种非常重要的算法。 本文就以习题的方式来给…

AcWing 842. 排列数字 DFS, BFS, 图论搜索存储1~n的排列

C 图论中两种搜索方法 1. 深度优先搜索 DFS 数据结构&#xff1a;使用栈 stack 空间&#xff1a;O(n) 不具有最短路性质 回溯&#xff1a;搜索到最深&#xff0c;往回走的过程 2. 宽度优先搜索 BFS 数据结构&#xff1a;使用队列 queue 空间&#xff1a;O(2^n) 具有最…

《算法通关之路》-chapter4深搜和广搜

《算法通关之路》学习笔记&#xff0c;记录一下自己的刷题过程&#xff0c;详细的内容请大家购买作者的书籍查阅。 路径总和 II 力扣第113题 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶…

【数据结构】图的创建和深度(DFS)广度(BFS)优先遍历

一、图 1.图的概念 图是由顶点的有穷非空集合和顶点之间边的集合组成&#xff0c;通过表示为G(V,E)&#xff0c;其中&#xff0c;G标示一个图&#xff0c;V是图G中 顶点的集合&#xff0c;E是图G中 边的集合。 2.图的种类 图分为无向图和有向图 无向图&#xff1a;若顶点V…

目标值的组合总和

题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被…

【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(3)

写在前面&#xff1a; 怎么样才能学好一个算法&#xff1f; 我个人认为&#xff0c;系统性的刷题尤为重要&#xff0c; 所以&#xff0c;为了学好深度优先搜索&#xff0c;为了用好暴搜应对蓝桥杯&#xff0c; 事不宜迟&#xff0c;我们即刻开始刷题&#xff01; 题目&…

【蓝桥杯】DFS深度优先练习题——基础入门(1)

目录 第一题&#xff1a;递归实现指数型枚举 题目描述 输入格式 输出格式 题目分析 题目代码 第二题&#xff1a;全排列问题 题目描述 输入格式 输出格式 输入输出样例 说明/提示 题目分析 题目代码 第三题&#xff1a;组合的输出 题目描述 输入格式 输出格…

【蓝桥杯】每日四道填空题(两道真题+两道模拟题)| 第四天

专栏&#xff1a; 蓝桥杯——每日四道填空题&#xff08;两道真题两道模拟题&#xff09; &离蓝桥杯已经不到一个月时间了&#xff0c;赶快刷起来吧&#xff0c;填空题一定别丢分&#xff01;&#xff01;୧꒰•̀ᴗ•́꒱୨ 另一个专栏是&#xff1a; 蓝桥杯——编程题刷题…

专题五:DFS深度优先搜索

专题五&#xff1a;DFS深度优先搜索 目录专题五&#xff1a;DFS深度优先搜索前言什么是回溯法如何理解回溯法回溯法解决的问题回溯法模板1 、回溯函数模板返回值以及参数2、 回溯函数终止条件3 、回溯搜索的遍历过程回溯算法模板框架代码如下递归实现指数型枚举题目代码及注释方…

力扣--课程表--bfs+dfs

整体思路&#xff1a; 这是一道拓扑序列的题目&#xff0c;我们将边的方向定义成从先修课指向后修课的方向&#xff0c;借一下官方的题解图片&#xff0c;我们需要判断的是形成的这个图结构是否存在环&#xff0c;如果存在环&#xff0c;那么代表不能完成所有课程的学习。 bfs思…

蓝桥杯C++大学B组一个月冲刺记录2024/3/13

蓝桥杯C大学B组一个月冲刺记录2024/3/13 规则:每日三题 向日葵的花语是说不出的爱恋 不过今天有点水题了 1.有序分数 给定一个整数 N&#xff0c;请你求出所有分母小于或等于 N&#xff0c;大小在 [0,1] 范围内的最简分数&#xff0c;并按从小到大顺序依次输出。 这个题在被划…

华为机考:HJ43 迷宫问题

华为机考&#xff1a;HJ43 迷宫问题 描述 DFS 从迷宫入口开始进行dfs搜索&#xff0c;每次进入一个点&#xff0c;将其加入临时路径数组中&#xff0c;把该位改成0表示不能进入&#xff0c;然后依次搜索该位下、右、上、左四个方向的点&#xff0c;如果搜索的这个点可以进入则…

蓝桥练习之倍增算法

算法概述 倍增算法是一种优化算法&#xff0c;通常应用于某些需要高效计算指数幂的场景。它基于分治的思想&#xff0c;通过反复求平方来实现快速计算指数幂的目的。在实际应用中&#xff0c;倍增算法经常用于解决最近公共祖先问题、二分查找等。 问题引入 快速幂 #include&l…

题目 3145: 买瓜

题目描述: 小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个瓜&#xff0c;每个瓜的重量为 Ai 。 小蓝刀功了得&#xff0c;他可以把任何瓜劈成完全等重的两份&#xff0c;不过每个瓜只能劈一刀。 小蓝希望买到的瓜的重量的和恰好为 m 。 请问小蓝至少要劈多少个瓜才能买到重量恰好…

蓝桥杯-粘木棍-DFS

题目 思路 --有n根木棍&#xff0c;需要将其粘成m根木棍&#xff0c;并求出最小差值&#xff0c;可以用DFS枚举出所有情况。粘之前有n根短木棍&#xff0c;粘之后有m根长木棍&#xff0c;那么让长木棍的初始长度设为0。外循环让所有的短木棍都参与粘&#xff0c;内循环让要粘的…

力扣131分隔回文串

文章目录 力扣131分隔回文串题目链接题目描述AC代码--暴搜剪枝暴搜剪枝思路AC代码--预处理暴搜预处理暴搜思路 力扣131分隔回文串 题目链接 原题链接 题目描述 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的…

力扣题目训练(21)

2024年2月14日力扣题目训练 2024年2月14日力扣题目训练605. 种花问题617. 合并二叉树628. 三个数的最大乘积289. 生命游戏299. 猜数字游戏149. 直线上最多的点数 2024年2月14日力扣题目训练 2024年2月14日第二十一天编程训练&#xff0c;今天主要是进行一些题训练&#xff0c;…

面试经典-31-随机链表的复制

题目 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对应的原节点的值。新节…

C#,图论与图算法,无向图断开点(Articulation Points)的算法与源代码

1 无向图断开点 如果移除无向连通图中的顶点(以及穿过该顶点的边)会断开该图,则该顶点是一个连接点(或切割顶点Cutting Point)。连接点表示连接网络中的漏洞–单点故障会将网络拆分为两个或多个组件。它们对于设计可靠的网络很有用。 对于断开连接的无向图,连接点是顶点…

【LeetCode每日一题】2312. 卖木头块(DFS记忆化搜索+动态规划)

文章目录 [2312. 卖木头块](https://leetcode.cn/problems/selling-pieces-of-wood/)思路1:用DFS进行记忆化搜索代码&#xff1a;思路2:动态规划代码&#xff1a; 2312. 卖木头块 思路1:用DFS进行记忆化搜索 1.要用DFS深度优先遍历每一种情况。在递归的同时&#xff0c;不断更…

1042. 不邻接植花

有 n 个花园&#xff0c;按从 1 到 n 标记。另有数组 paths &#xff0c;其中 paths[i] [xi, yi] 描述了花园 xi 到花园 yi 的双向路径。在每个花园中&#xff0c;你打算种下四种花之一。 另外&#xff0c;所有花园 最多 有 3 条路径可以进入或离开. 你需要为每个花园选择一…

C#,图论与图算法,双连通图(Biconnected Components of Graph)的算法与源代码

1 双连通图(Biconnected Components of Graph) 如果任意两个顶点之间有两条顶点不相交的路径,则无向图称为双连通图。在双连通图中,有一个通过任意两个顶点的简单循环。 按照约定,由边连接的两个节点构成双连通图,但这并不验证上述属性。对于具有两个以上顶点的图,必须…

深度优先遍历和广度优先遍历二叉树的实现方法

二叉树是一种非常重要的数据结构&#xff0c;在计算机科学中得到广泛的应用。二叉树是一种树形结构&#xff0c;其中每个节点最多有两个子节点&#xff0c;分别称为左子节点和右子节点。在这篇文章中&#xff0c;我们将探讨二叉树的广度优先遍历和深度优先遍历。 广度优先遍历…

【蓝桥杯】DFS深度优先练习题——基础入门(2)

目录 第一题&#xff1a;[NOIP2002 普及组] 选数 题目描述 题目分析 题目代码 第二题&#xff1a; 烤鸡 题目背景 题目描述 输入格式 输出格式 输入输出样例 输入 输出 说明/提示 题目分析 题目代码 第三题&#xff1a;[NOIP2004 普及组] 火星人 题目描述 输…

(实时更新)蓝桥杯知识点笔记 | (三)回溯

文章目录2.1 深搜定义&模板acwing3429全排列洛谷1238走迷宫acwing843N皇后问题acwing2404自然数的拆分问题小标题的超链接为原题链接&#xff0c;点击跳转 2.1 深搜 定义&模板 回溯法是一种选优搜索法&#xff0c;又称为试探法&#xff0c;按选优条件向前搜索&#xf…

一本通 3.4.1 图的遍历

图的遍历 1341&#xff1a;【例题】一笔画问题 【题目描述】 如果一个图存在一笔画&#xff0c;则一笔画的路径叫做欧拉路&#xff0c;如果最后又回到起点&#xff0c;那这个路径叫做欧拉回路。 根据一笔画的两个定理&#xff0c;如果寻找欧拉回路&#xff0c;对任意一个点执…

力扣39.组合总数

文章目录力扣39.组合总数题目描述方法1&#xff1a;深搜回溯力扣39.组合总数 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可…

深度优先搜索算法详解

深度优先搜索&#xff08;Depth-First Search&#xff0c;DFS&#xff09;是一种经典的图形搜索算法&#xff0c;用于在图或树中遍历所有节点。它是一种递归算法&#xff0c;它通过深入到树或图的最深层来遍历节点&#xff0c;并且在回溯时继续搜索其他分支。 深度优先搜索的核…

第十四届CCPC吉林省赛题解

比赛链接 D. Trie 思路&#xff1a; 构建trietrietrie树后建ACACAC自动机的failfailfail树&#xff0c;那么对一个串的后缀的最长公共前缀就是其在failfailfail树节点的父亲节点。那么对于询问1&#xff0c;假设对当前点x1,x2,x3x1,x2,x3x1,x2,x3打上新的标记&#xff0c;其…

第14届蓝桥杯C++A组题解

J 翻转硬币 不会写 I 像素 枚举第i行 二进制枚举状态 然后check&#xff08;i&#xff09;是否合法&#xff0c;如果合法就dfs&#xff08;i1) check是核心 判断第上一行是否A[i][j] 判断第i行是否小于等于A且&#xff0c;c3>A 判断下一行是否小于等于A且&#xff0c;…

2023/2/13 蓝桥备战acwing刷题(set的使用、简单推个不等式+差分、快速幂、01背包模板回顾、类似01背包的题)

4454未初始化警告 set计数 #include<iostream> #include<set> using namespace std;int main(){int n,m;cin>>n>>m;set<int> s;int res 0;s.insert(0);while(m--){int l,r;cin>>l>>r;if(s.count(r)0){res;}s.insert(l);}cout<…

蓝桥杯 回忆迷宫 BFS DFS暴力模拟

⭐ 题目地址 样例输入 17 UUUULLLLDDDDRRRRU样例输出 ***** * * * *** * * *** * * *** * * ******&#x1f920; 注意方向&#xff1a;颠倒数组&#xff0c;行下标 是 y&#xff0c;列下标 是 x import java.util.*;public class Main { static int n;static int …

[leetcode 剑指 Offer 29. 顺时针打印矩阵] 方向保持的DFS

// 问题和普通的DFS的区别在于&#xff0c;要求DFS的顺序在一定程度上保持有序&#xff0c;所以不能在传统的DFS内部&#xff0c;去遍历所有可能的方向&#xff0c;必须在DFS的 // 各层之间传递一个方向flag&#xff08;k&#xff09;用来告知现在的顺序&#xff0c;然后在出现…

聪明的探险家是如何探险的——IDA*算法

北风吹雪月如银&#xff0c;恒心不灭志常新。 书山有路勤为径&#xff0c;学海无涯志气真。 知识海洋无边际&#xff0c;刻苦努力绘新图。 追逐梦想不停步&#xff0c;铸就人生辉煌路。 IDA* 算法的前置知识分别是A* 算法和迭代加深搜索算法 文章目录引子正文探险家的做法IDA*算…

【PAT甲级题解记录】1013 Battle Over Cities (25 分)

【PAT甲级题解记录】1013 Battle Over Cities (25 分) 前言 Problem&#xff1a;1013 Battle Over Cities (25 分) Tags&#xff1a;DFS 连通图 Difficulty&#xff1a;剧情模式 想流点汗 想流点血 死而无憾 Address&#xff1a;1013 Battle Over Cities (25 分) 问题描述 给…

【算法】三道算法题两道难度中等一道困难

算法目录只出现一次的数字&#xff08;中等难度&#xff09;java解答参考二叉树的层序遍历&#xff08;难度中等&#xff09;java 解答参考给表达式添加运算符&#xff08;比较困难&#xff09;java解答参考大家好&#xff0c;我是小冷。 上一篇是算法题目 接下来继续看下算法题…

旧改周报--深圳7大项目获进展:中海、星河等主导

2023年第22周&#xff0c;深圳市共发布拆除重建类权利人核实公示1项&#xff0c;规划公告1项&#xff0c;规划修改&#xff08;草案&#xff09;公示2项&#xff0c;规划&#xff08;修改&#xff09;公告1项&#xff0c;实施主体公示1项&#xff0c;建设用地批复1项&#xff0…

Leetcode.2385 感染二叉树需要的总时间

题目链接 Leetcode.2385 感染二叉树需要的总时间 Rating &#xff1a; 1711 题目描述 给你一棵二叉树的根节点 root&#xff0c;二叉树中节点的值 互不相同 。另给你一个整数 start。在第 0分钟&#xff0c;感染 将会从值为 start的节点开始爆发。 每分钟&#xff0c;如果节点…

( “树” 之 DFS) 101. 对称二叉树 ——【Leetcode每日一题】

101. 对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false 提示&#xff1a…

算法模板(3):搜索(1):dfs

深搜其实用的就是栈&#xff0c;虽然不是手写的栈&#xff0c;但是递归函数就是在调用系统的栈。 dfs基础篇 &#xff08;1&#xff09;排列数字 #include<cstdio> int N; int path[15], vis[15]; void dfs(int u) {if (u N) {for (int i 0; i < N; i) printf(&q…

LeetCode 101. 对称二叉树

LeetCode 101. 对称二叉树 难度&#xff1a;easy\color{Green}{easy}easy 题目描述 给你一个二叉树的根节点 rootrootroot &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 复制示例输入示例 2&#xff1a…

LeetCode 1042. Flower Planting With No Adjacent【模拟,图,BFS,DFS】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

动态规划:状态机DP和买卖股票问题【零神基础精讲】

买卖股票的最佳时机&#xff1a;无限次/冷冻期/k次【基础算法精讲 21】 来自0x3f&#xff1a;https://www.bilibili.com/video/BV1ho4y1W7QK/ 介绍了【买卖股票系列问题】与【状态机 DP】&#xff0c;包括【至多/恰好/至少】的讲解。 文章目录买卖股票问题和状态机DP(无限次)[1…

【LeetCode: 剑指 Offer II 112. 最长递增路径 | 递归 | DFS | 深度优先遍历 | 记忆化缓存表】

&#x1f34e;作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域新星创作者&#x1f3c6;&#xff0c;保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享&#x1f48e;&#x1f48e;&#x1f48e; &#x1f34e;座右…

拦截导弹 导弹防御系统

拦截导弹 & 导弹防御系统拦截导弹导弹防御系统拦截导弹 题目链接:acwing1010. 拦截导弹 题目描述&#xff1a; 输入输出: 分析&#xff1a; 第一个问题为输出最长递减子序列&#xff0c;由于导弹数在1000以内所以采用时间复杂度为O(n2)O(n^2)O(n2)或者O(nlogn)O(nlogn)O…

( “树” 之 DFS) 671. 二叉树中第二小的节点 ——【Leetcode每日一题】

671. 二叉树中第二小的节点 给定一个非空特殊的二叉树&#xff0c;每个节点都是正数&#xff0c;并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话&#xff0c;那么该节点的值等于两个子节点中较小的一个。 更正式地说&#xff0c;即 root.val min(roo…

迷宫问题-DFS-BFS

迷宫问题迷宫问题简介BFS解决迷宫最短路径问题DFS记录迷宫路径DFS解决迷宫所有路径问题迷宫问题简介 &#x1f680;学习过算法程序设计的应该都学习过迷宫这个问题&#xff0c;迷宫问题主要设计的算法就是DFS-深度优先遍历和BFS-广度优先遍历。 &#x1f680;在一个二维数组中…

笔试真题解析 | 4.15携程实习笔试三道编程题

恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经。 作者@TechGuide【全网同名】 订阅专栏【进阶版】2023最新大厂笔试真题 & 题解,不容错过的宝藏资源! 第一题:字符矩阵 题目描述 给出一个mn的字符串矩阵,其实就是m个长度…

使用S3协议通过dfs实现Spring的SPI机制和spring.factories

目录参考一、SPI机制1、什么是SPI2、使用场景&#xff1f;3、使用介绍4、代码演示新建工程edevp-dfs-api的spi接口新建阿里云oss实现类新建minio实现类新建测试工程edevp-demo测试5、总结优点&#xff1a;解耦缺点&#xff1a;二、Spring Boot的扩展机制之Spring Factories1.概…

DFS与BFS总结

总结 bfs多用于在一次选择中可以有多种情况的选择 而dfs是确定唯一性如唯一路径&#xff0c;也就是深度 当问题是全盘式的搜索&#xff0c;不在乎形式或者具体情况呈现还是详细过程的&#xff0c;使用bfs 当问题是要求具体过程&#xff0c;还有类似于1条线一直往下延申的使用df…

【算法基础】DFS BFS 进阶训练

DFS与BFS的基础篇详见:https://blog.csdn.net/m0_51339444/article/details/129301451?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129301451%22%2C%22source%22%3A%22m0_51339444%22%7D 一、案例分析1 (树的重心 —— D…

A. Linova and Kingdom(dfs + 贪心)

A. Linova and Kingdom&#xff08;dfs 贪心&#xff09;一、问题二、思路三、代码一、问题 二、思路 这道题的大意就是&#xff0c;给我们一棵树&#xff0c;我们需要在树上选择kkk个点&#xff0c;然后让kkk个信使从我们选取的kkk个点向第一个点出发。 我们把我们选取的k个…

洛谷P2036 [COCI2008-2009#2] PERKET

弱鸡上路&#xff0c;刷搜索的第一天。一道都写不出来的一天 传送门&#xff1a;https://www.luogu.com.cn/problem/P2036 该题的DFS递归结构很简洁&#xff08;虽然我还是不会&#xff0c;也是看了题解才懂的&#xff09;&#xff0c;我认为最核心的思想是对于每一种食材&…

【2021.12.28】ctf逆向中的迷宫问题(含exe及wp)

【2021.12.28】ctf逆向中的迷宫问题&#xff08;含exe及wp&#xff09; 文章目录【2021.12.28】ctf逆向中的迷宫问题&#xff08;含exe及wp&#xff09;1、迷宫简介&#xff08;1&#xff09;简单例子&#xff08;2&#xff09;一般的迷宫代码2、二维迷宫&#xff08;1&#xf…

csp训练计划

训练计划 dfs树求每棵树的重量 #include<bits/stdc.h> using namespace std; #pragma GCC optimize(2) #pragma GCC optimize(3,"Ofast","inline") #define x first #define y second #define int long long #define endl \n #define rep(i,a,n) fo…

【MST】ABC235 E - MST + 1

一开始想的是分类讨论&#xff0c;看那条边加了之后成不成环&#xff0c;如果不成环且权值在前n-1&#xff0c;则一定在MST里&#xff0c;不在前n-1则不在MST里&#xff1b;如果成环了&#xff0c;如果权值不在前n-1&#xff0c;则不在MST里&#xff0c;如果权值在前n-1&#x…

树与图的存储-邻接表与邻接矩阵-深度广度遍历

全部代码 全部代码在github acwing 上 正在更新 https://github.com/stolendance/acwing 图论 欢迎star与fork 树与图的存储 无论是树 还是无向图 都可以看成有向图 有向图可以采用邻接矩阵与邻接表进行存储 邻接矩阵 邻接矩阵 采用矩阵存储,graph[i][j] 代表i到j边的权重…

leetcode打卡-深度优先遍历和广度优先遍历

200.岛屿数量 leetcode题目链接&#xff1a;https://leetcode.cn/problems/number-of-islands leetcode AC记录&#xff1a; 思路&#xff1a;深度优先遍历&#xff0c;从0&#xff0c;0开始遍历数组&#xff0c;使用boolean类型数组used记录是否被访问过&#xff0c;进行一…

【算法】单词接龙,合并区间, 二叉搜索树的最近公共祖先,旋转排序数组中的最小值看看有你会的吗?

算法学习有些时候是枯燥的&#xff0c;每天学习一点点 算法题目一. 单词接龙 II 题目描述java 解答参考二. 合并区间 题目描述java 解答参考三. 二叉搜索树的最近公共祖先 题目要求java实现方案四 寻找旋转排序数组中的最小值一. 单词接龙 II 题目描述 按字典 wordList 完成从…

蓝桥杯练习系统—瓷砖铺放 dfs

问题描述 有一长度为N(1<&#xff2e;<10)的地板&#xff0c;给定两种不同瓷砖&#xff1a;一种长度为1&#xff0c;另一种长度为2&#xff0c;数目不限。要将这个长度为N的地板铺满&#xff0c;一共有多少种不同的铺法&#xff1f;   例如&#xff0c;长度为4的地面一…

P2036 [COCI2008-2009 #2] PERKET

题目描述 Perket 是一种流行的美食。为了做好 Perket&#xff0c;厨师必须谨慎选择食材&#xff0c;以在保持传统风味的同时尽可能获得最全面的味道。你有 &#xfffd;n 种可支配的配料。对于每一种配料&#xff0c;我们知道它们各自的酸度 &#xfffd;s 和苦度 &#xfffd…

dp入门:从暴力dfs到dp

本篇为小金鱼大佬视频的学习笔记&#xff0c;原视频链接&#xff1a;https://www.bilibili.com/video/BV1r84y1379W?vd_source726e10ea5b787a300ceada715f64b4bf 基础概念 暴力dfs很多时候仅能过部分测试点&#xff0c;要想将其优化&#xff0c;一般以 dfs -> 记忆化搜索 …

力扣面试题 08.10. 颜色填充(java DFS解法)

Problem: 面试题 08.10. 颜色填充 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 该问题可以归纳为一类遍历二维矩阵的题目&#xff0c;此类中的一部分题目可以利用DFS来解决&#xff0c;具体到本题目&#xff1a; 1.我们从题目给定点处开始依次以上下左右的顺序依次…

代码随想录算法训练营(JAVA)| 第六章 二叉树part07

今日任务 力扣 530. 二叉搜索树的最小绝对差&#xff0c;501. 二叉搜索树中的众数 题目 &#xff1a;530. 二叉搜索树的最小绝对差 思路 注意是二叉搜索树&#xff0c;二叉搜索树可是有序的。 遇到在二叉搜索树上求什么最值啊&#xff0c;差值之类的&#xff0c;就把它想成…

2023蓝桥杯省赛真题分糖果 |枚举+DFS

题目链接&#xff1a; 2.分糖果 - 蓝桥云课 (lanqiao.cn) 说明&#xff1a; 虽然这道题并不是很难&#xff0c;思维上也不是特别难&#xff0c;数据小直接暴力就可以得到。但是还是需要注意一些细节&#xff0c;比如DFS的递归终止的条件的处理&#xff0c;当K>7的时候就要…

acwing算法提高之搜索--剪枝

目录 1 介绍2 训练 1 介绍 本专题用来记录使用dfs剪枝技巧求解的题目。 剪枝有以下思路&#xff1a; 优化搜索顺序。可行性剪枝。最优性剪枝。唯一性剪枝&#xff0c;也叫去除冗余。记忆化搜索&#xff0c;也叫dp。 2 训练 题目1&#xff1a;165小猫爬山 C代码如下&#…

蓝桥杯-Sticks-DFS搜索

题目 样例输出是 6 5 题目中给错了&#xff0c;不知道什么时候会改。 思路 --剪枝&#xff0c;否则时间复杂度和空间复杂度过大&#xff0c;会超时。 --注意有多组测试样例时&#xff0c;需要将bool数组重新赋值为false。 --函数类型不是void&#xff0c;return语句不能省…

day-24 跳跃游戏 III

思路&#xff1a;dfs方法&#xff0c;从开始节点开始进行深度优先遍历&#xff0c;利用一个数组vis[]记录该位置是否被访问过&#xff0c;如果遍历到一个已经访问的位置&#xff0c;返回false 如果遍历到某位置的值为0&#xff0c;返回true code: class Solution {public boo…

5467: 【搜索】流浪奶牛

题目描述 吃不到饭的奶牛Bessie一气之下决定离开农场&#xff0c;前往阿尔费茨山脉脚底下的农场&#xff08;听说那儿的草极其美味&#xff09;投靠她的亲戚Jimmy。但是前往目的地的山路崎岖&#xff0c;Bessie又没有吃饭&#xff0c;她需要尽量保存体力&#xff0c;以最轻松的…

复习Day1

92. 递归实现指数型枚举 - AcWing题库 #include <bits/stdc.h> using namespace std; const int N17; int n; bool vis[N];//记录某一个数是否出现过 void dfs(int dep){// if(vis[dep])continue;//没有这一句 因为一定不会有已经选过的数if(depn1){for(int i1;i<n;i…

华容道问题的dfs实现

#include <iostream> #include <vector> #include <algorithm> #include <unordered_map> using namespace std;// 定义上下左右移动的偏移量 constexpr static int dx[] {0, 1, -1, 0}; constexpr static int dy[] {1, 0, 0, -1};// 定义行列数 con…

0x01_实验课leetcode

题目总结 lc1979 给你一个整数数组 nums &#xff0c;返回数组中最大数和最小数的 最大公约数 。 两个数的 最大公约数 是能够被两个数整除的最大正整数。 会求 gcd 就行 class Solution { public:int gcd(int a, int b){return b ? gcd(b, a % b) : a;}int findGCD(vector&…

[2023] 14届

1.日期统计 题意 1.日期统计 - 蓝桥云课 (lanqiao.cn) 思路 用dfs扫 对每一个位进行限制 花了一个小时 注意把答案枚举出来 对应一下看到底对不对 code #include<iostream> #include<cstdio> #include<stack> #include<vector> #include<al…

基于CNN-RNN的动态手势识别系统构建与应用

一、引言 随着人机交互技术的不断发展&#xff0c;动态手势识别成为了近年来的研究热点。动态手势识别技术能够识别和理解人类的手势动作&#xff0c;从而实现更自然、更直观的人机交互。本文旨在构建一种基于CNN-RNN的动态手势识别系统&#xff0c;以提高手势识别的准确性和实…

蓝桥杯2023年第十四届省赛真题-买瓜|DFS+剪枝

题目链接&#xff1a; 0买瓜 - 蓝桥云课 (lanqiao.cn) 蓝桥杯2023年第十四届省赛真题-买瓜 - C语言网 (dotcpp.com) &#xff08;蓝桥官网的数据要求会高一些&#xff09; 说明&#xff1a; 这道题可以分析出&#xff1a;对一个瓜有三种选择&#xff1a; 不拿&#xff0c…

DFS算法(C/C++)(内含立例题)

DFS&#xff1a; DFS又称深度优先搜索&#xff0c;是一种图运算方法&#xff0c;它从第一个节点走起&#xff0c;一直往下走&#xff0c;一直走到不能继续再走&#xff0c;就返回上一个节点&#xff0c;继续搜索其他地方&#xff0c;直到找到目标节点为止。 DFS可以解决迷宫问…

面试算法-123-二叉搜索树中第K小的元素

题目 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 个最小元素&#xff08;从 1 开始计数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,null,2], k 1 输出&#xff1a;1 题目 class Soluti…

地宫取宝dfs

分析&#xff1a; 矩阵里的每一个位置都有标记&#xff0c;要求的问题是&#xff1a;有几种方法能完成这个规定。 那么&#xff0c;我们只需要计算从开始(1,1)到最后(n,m)的深度优先搜索中&#xff0c;有几个是满足要求的即为正确答案。 有个要求是&#xff0c;如果一个格子中…

代码随想录学习Day 13

102.二叉树的层次遍历 题目链接 讲解链接 层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。需要借用一个辅助数据结构即队列来实现&#xff0c;队列先进先出&#xff0c;符合一层一层遍历的逻辑&#xff0c;而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。…

树的遍历方式DFS和BFS

DFS(depth first search) 深度优先遍历 从图中一个未访问的顶点V开始&#xff0c;沿着一条路一直走到底&#xff0c;然后从这条路尽头的节点回退到上一个节点&#xff0c;再从另一条路走到底…不断递归重复这个过程&#xff0c;直到所有的顶点都遍历完成。前序遍历&#xff0c…

Java图的遍历知识点(含面试大厂题和源码)

图的遍历是图论中的一个基本概念&#xff0c;主要指的是按照某种规则&#xff0c;系统地访问图中的每一个顶点&#xff0c;且每个顶点仅被访问一次。图遍历的主要目的是为了搜索图中的信息或检查图中是否存在特定的路径或圈。图的遍历算法主要有两种&#xff1a;深度优先搜索&a…

点分治与点分树 学习笔记

开始营业qwq 点分治 点分治就是把树上的点分治一下,可以批量处理树上和路径相关的问题。 每次根据重心划分&#xff0c;把树分成 O(log⁡)O(\log)O(log) 个连通块处理答案&#xff0c;然后合并。 Tree 传送门 模板题&#xff0c;把连通块内每一个节点到当前根的距离求出并…

手把手学会DFS (递归入门)

目录 算法介绍 递归实现指数型枚举 递归实现排列型枚举 递归实现组合型枚举 算法介绍 &#x1f9e9;DFS 即 Depth First Search &#xff0c;中文又叫深度优先搜索&#xff0c;是一种沿着树的深度对其进行遍历&#xff0c;直到尽头之后再进行回溯&#xff0c;再走其他路线的…

小白月赛C-方豆子

方豆子 题目描述 阿宁最近对吃豆子感兴趣&#xff0c;阿宁想要用程序输出一下&#xff0c;但是图形化对于阿宁来说太难。因此他决定用字符&#xff0c;并且是方形的模样。 给一个正整数n&#xff0c;输出n级好豆子。 题解&#xff1a;每个豆子都由四个豆子组成&#xff0c…

【AcWing】蓝桥杯备赛-深度优先搜索-dfs(1)

目录 写在前面&#xff1a; 题目&#xff1a;92. 递归实现指数型枚举 - AcWing题库 读题&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 数据范围&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 解题思路&#xff1a; 代码&#xff1a; AC &…

一题多解-八数码(万字长文)

16 张炜皓 (ζ͡顾念̶) LV 5 1 周前 在做这道题前&#xff0c;先来认识一下deque双端队列 C STL 中的双端队列 题目连接 使用前需要先引入 头文件。 #include; STL 中对 deque 的定义 // clang-format off template< class T, class Allocator std::allocator class d…

以字典序产生排列

文章目录 以字典序产生排列程序设计程序分析以字典序产生排列 【问题描述】给定正整数n生成1到n的全排列 【输入形式】一个整数n(1<=n<=9) 【输出形式】n!行,每一行的第一个数是第几个全排列,第二个数是全排列打印(中间用制表符\t分开); 【样例输入】 3 【样例输出…

时间戳优化

题意 给定一颗有根树&#xff0c;起初点全为白色&#xff0c;序列 a [ i ] a[i] a[i]表示在第 i i i秒将 a [ i ] a[i] a[i]染成黑色&#xff0c;求在每次染色后有多少颗子树中既有黑色又有白色节点。 int n;cin >> n;vector<int> mn(n 1), mx(n 1);vector<v…

1034 Head of a Gang(超级无敌详细注释+48行代码)

分数 30 全屏浏览题目 作者 CHEN, Yue 单位 浙江大学 One way that the police finds the head of a gang is to check peoples phone calls. If there is a phone call between A and B, we say that A and B is related. The weight of a relation is defined to be the …

题322.dfs搜索顺序-acwing-Q1116-- 马走日

文章目录题322.dfs搜索顺序-acwing-Q1116-- 马走日一、题目二、题解题322.dfs搜索顺序-acwing-Q1116-- 马走日 一、题目 二、题解 #include <bits/stdc.h>using namespace std;const int maxn10; const int dx[]{-1,-1,-2,-2,1,1,2,2};//dx从小到大罗列 const int dy[]{…

【每日一题Day211】LC1079活字印刷 | 回溯 计数dp

活字印刷【LC1079】 你有一套活字字模 tiles&#xff0c;其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。 **注意&#xff1a;**本题中&#xff0c;每个活字字模只能使用一次。 我反正是写的相当暴力 计数回溯 思路&#xff1a; 为了构成不同的…

动态规划-树形DP

树的重心 题目 链接&#xff1a;https://www.acwing.com/problem/content/848/ 给定一颗树&#xff0c;树中包含 n n n 个结点&#xff08;编号 1 ∼ n 1 \sim n 1∼n&#xff09;和 n − 1 n-1 n−1 条无向边。 请你找到树的重心&#xff0c;并输出将重心删除后&#x…

蓝桥杯--挖地雷

没有白走的路&#xff0c;每一步都算数&#x1f388;&#x1f388;&#x1f388; 题目&#xff1a; 已知有很多的地窖&#xff0c;每一个地窖中又藏着很多的地雷&#xff0c;每个地窖之间都存在着相连性&#xff0c;但是不是任意的地窖都是相连的&#xff0c;要求我们找出一次能…

强连通分量(SCC, Strongly Connected Components)

强连通分量&#xff08;SCC, Strongly Connected Component&#xff09; 强连通分量的概念强连通分量的应用强连通分量的算法——Tarjan算法 强连通分量的概念 在有向图中&#xff0c;任意两个顶点 v i v_i vi​ 和 v j v_j vj​ 互相可达&#xff08;也即存在路径 v i → v…

acwing提高——迭代加深+双向dfs+IDA*

1.迭代加深 顾名思义说明迭代的层数逐渐加深&#xff0c;这样做法有点像bfs的做法层层突出&#xff0c;符合的题型是答案在层数较低的那一层里 加成序列 题目https://www.acwing.com/problem/content/description/172/ #include<bits/stdc.h> using namespace std; c…

Leecode 1123. 最深叶节点的最近公共祖先 DFS

原题链接&#xff1a;Leecode 1123. 最深叶节点的最近公共祖先 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x…

Leecode 1254. 统计封闭岛屿的数目 DFS

原题链接&#xff1a;Leecode 1254. 统计封闭岛屿的数目 这么简单一道题&#xff0c;又粗心&#xff0c;&&写成&&#xff0c;&写成&&&#xff0c;我要吐了&#xff0c;浪费我两个小时找不出来错。。。 DFS class Solution { public:bool dfs(vector…

数据结构与算法12:图、广度优先、深度优先

目录 【图】 【图的存储方法】 方法1&#xff1a;邻接矩阵 方法2&#xff1a;邻接链表 【图的算法】 广度优先搜索&#xff08;BFS&#xff09; 深度优先搜索&#xff08;DFS&#xff09; 【图】 在 数据结构与算法09&#xff1a;二叉树 这篇文章中讲述了“树”这种数…

算法模板(3):搜索(3):图论提高

图论提高 最小生成树 &#xff08;1&#xff09;朴素版prim算法&#xff08; O ( n 2 ) O(n ^ 2) O(n2)&#xff09; 适用范围&#xff1a;稠密图易错&#xff1a;注意有向图还是无向图&#xff1b;注意有没有重边和负权边。从一个集合向外一个一个扩展&#xff0c;最开始只…

dfs.nameservices参数

当在Hadoop集群中配置高可用性&#xff08;High Availability&#xff09;时&#xff0c;dfs.nameservices参数在Hadoop分布式文件系统&#xff08;HDFS&#xff09;中起着重要的作用。该参数用于指定HDFS集群的名称服务&#xff08;NameNode&#xff09;&#xff0c;它是一个逻…

图的遍历——DFS, BFS(邻接矩阵,邻接表)——C语言描述

图的遍历——DFS, BFS&#xff08;邻接矩阵&#xff0c;邻接表&#xff09;——C语言描述 文章目录 图的遍历——DFS, BFS&#xff08;邻接矩阵&#xff0c;邻接表&#xff09;——C语言描述0 测试用例框架1 图的深度优先遍历&#xff08;DFS&#xff09;1.1 邻接矩阵&#xff…

leetcode111. 二叉树的最小深度(java)

二叉树的最小深度 leetcode111. 二叉树的最小深度题目描述 DFS 深度优先遍历解题思路代码演示 BFS 广度优先遍历解题思路代码演示 往期经典 leetcode111. 二叉树的最小深度 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problem…

图的广度优先遍历和深度优先遍历

前言&#xff1a;在上一篇博客我们学习了图的基本操作&#xff0c;包括图的建立、结点插入与删除等操作&#xff0c;怎么判断我们建立的图是否正确&#xff0c;很简单把它输出出来就是&#xff0c;但是如何输出它&#xff0c;这就是图的遍历问题了。 一.图的遍历 图的遍历是指…

【备战秋招】每日一题:2023-04-19-华为OD(第二题)-塔子哥出城

在线评测链接:P1196 题目内容 塔子哥居住在数据结构之城&#xff0c;如果将这个城市的路口看做点&#xff0c;两个路口之间的路看做边&#xff0c;那么该城市的道路能够构成一棵由市中心路口向城市四周生长的树&#xff0c;树的叶子节点即是出城口。 塔子哥今天想要出城办事…

Codeforces Round #881 (Div. 3) Editorial题解

A B&#xff1a;这个题目的关键就是相连的重复的负数&#xff0c;相当于于一个负数&#xff0c;这个地方是可以优化的一个地方&#xff0c;然后注意到只要是有一个负数&#xff0c;就要进行一次操作&#xff0c;所以接直接检测隔着的相连的负数的个数就是最后的答案 C D经典的…

【每日一题Day245】面试题 16.19. 水域大小 | dfs

面试题 16.19. 水域大小 你有一个用于表示一片土地的整数矩阵land&#xff0c;该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法来计算矩阵中所有池塘的大小&#xff0c;返…

【Leetcode -872.叶子相似的树 -993.二叉树的堂兄弟节点】

Leetcode Leetcode -872.叶子相似的树Leetcode -993.二叉树的堂兄弟节点 Leetcode -872.叶子相似的树 题目&#xff1a;请考虑一棵二叉树上所有的叶子&#xff0c;这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。 举个例子&#xff0c;如上图所示&#xff0c;给定一棵…

acwing352.闇の連鎖 树上差分

Link 思路 问题转化蛮巧妙的。主要边恰好构成一棵树&#xff0c;考虑只添加一条附加边<x,y>&#xff0c;则恰好构成一个环&#xff0c;如果第一步选择切断x,y之间路径的某条主要边&#xff0c;则第二步必须切断<x,y>&#xff0c;才能分成不连通的两部分。 所以相…

kuangbin专题一 简单搜索

文章目录[1114. 棋盘问题 - AcWing题库](https://www.acwing.com/problem/content/description/1116/)题意题解[1096. 地牢大师 - AcWing题库](https://www.acwing.com/problem/content/1098/)题意题解[1100. 抓住那头牛 - AcWing题库](https://www.acwing.com/problem/content…

【剑指 Offer 47. 礼物的最大价值】(动态规划 / 深度优先搜索)

【解题思路】 首先想到的是使用深度优先搜索的方法&#xff0c;代码如下&#xff1a; class Solution {int ans 0;int m, n;public int maxValue(int[][] grid) {m grid.length;n grid[0].length;DFS(grid, 0, 0, grid[0][0]);return ans;}public void DFS(int[][] grid, …

洛谷P1460 [USACO2.1]健康的荷斯坦奶牛 Healthy Holsteins

传送门&#xff1a;https://www.luogu.com.cn/problem/P1460 写这道题题解是因为对于我对题目的理解是对的&#xff0c;思路也比较清晰。但是在DFS代码的技巧上有欠缺导致无法写出完全AC的代码。从题解中我对DFS函数定义的参数列表有了进一步的了解&#xff0c;在DFS算法中&am…

n皇后问题两种解法

[USACO1.5]八皇后 Checker Challenge - 洛谷 /** Description: To iterate is human, to recurse divine.* Autor: Recursion* Date: 2022-03-13 11:07:25* LastEditTime: 2022-03-13 19:13:23*/ #include<iostream> using namespace std; const int N 15; int a[N];//…

[邻接矩阵形式]无向图的建立与深度,广度遍历

目录 MGraph类 构造函数 深度优先遍历 广度优先遍历 MGraph类 const int N 10; int visit[N]; // 顶点是否被访问 template<typename DataType> class MGraph//无向图 { public:MGraph(DataType a[], int n, int e);~MGraph(){}void DF(int x); //深度优先遍历void…

图的深度优先和广度优先搜索算法

图的深度优先和广度优先搜索算法 本文取自《数据结构与算法》(C语言版)(第三版)&#xff0c;出版社是清华大学出版社。 本博文作为学习资料整理。附书的截图&#xff1a;1.图的深度优先搜索算法&#xff1a; 图的深度优先搜索算法的基本思想是&#xff1a;从图G的某个顶点V0出发…

排列数字 (dfs)

希望这篇题解对你有用&#xff0c;麻烦动动手指点个赞或关注&#xff0c;感谢您的关注~ 不清楚蓝桥杯考什么的点点下方&#x1f447; 考点秘籍 想背纯享模版的伙伴们点点下方&#x1f447; 蓝桥杯省一你一定不能错过的模板大全(第一期) 蓝桥杯省一你一定不能错过的模板大全…

2022.1.16

上午&#xff1a; 拯救总部&#xff1a; 问题&#xff1a; 这个题就是字符矩阵的输入有问题,不用scanf改用那个cin>>就对了 &#xff08;因为cin>>会忽略空格和换行&#xff0c;百度&#xff09; #include<bits/stdc.h> using namespace std; int x,y; …

2022.1.15

洛谷 马的遍历&#xff1a; 注意&#xff1a;需要注意的是输出的要求 首先来看看dfs该怎么做&#xff08;有的测试点会超时&#xff09;&#xff1a; //这个题如果用 dfs 的话只能部分AC&#xff0c;因为会超时 #include<stdio.h> int dir[8][2]{{-2,-1},{-2,1},{2,1…

2022.1.13-1.14

洛谷:单词方阵 和前天的思路是一样的,不过没再用数组将需要对比的字母装起来了; 题解&#xff1a; 【1】首先输入这个单词矩阵&#xff08;一定要注意字符数组的特殊性&#xff09;//前面卡了挺久,有这个原因 【2】找到单词首字母’y’&#xff0c;从它开始搜索 【3】分八个方向…

【比赛】LeetCode 2023 春季杯团队赛题解

A. 符文储备 题意&#xff1a; 给定一个数组&#xff0c;问可以从中选择最多多少个连续的数&#xff0c;使得这些数排序后&#xff0c;相邻两个数的差最多是 1。 数据范围&#xff1a; 1 < runes.length < 10^40 < runes[i] < 10^4 题解&#xff1a; 值域范围…

【力扣每日一题】617. 合并二叉树 dfs bfs 8.14打卡

文章目录 题目思路代码 题目 617. 合并二叉树 难度&#xff1a; 简单 描述&#xff1a; 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff0…

算法竞赛备赛之搜索与图论训练提升,暑期集训营培训

目录 1.DFS和BFS 1.1.DFS深度优先搜索 1.2.BFS广度优先搜索 2.树与图的遍历&#xff1a;拓扑排序 3.最短路 3.1.迪杰斯特拉算法 3.2.贝尔曼算法 3.3.SPFA算法 3.4.多源汇最短路Floy算法 4.最小生成树 4.1.普利姆算法 4.2.克鲁斯卡尔算法 5.二分图&#xff1a;染色法…

剑指Offer54.二叉搜索树的第k大节点 C++

1、题目描述 给定一棵二叉搜索树&#xff0c;请找出其中第 k 大的节点的值 示例 1: 输入: root [3,1,4,null,2], k 1 3 / 1 4 2 输出: 4 示例 2: 输入: root [5,3,6,2,4,null,null,1], k 3 5 / 3 6 / 2 4 / 1 输出: 4 2、VS2019上运行 使用中序遍历的倒序&#xff0…

2023牛客第七场补题报告C F L M

2023牛客第七场补题报告C F L M C-Beautiful Sequence_2023牛客暑期多校训练营7 (nowcoder.com) 思路 观察到数组一定是递增的&#xff0c;所以从最高位往下考虑每位的1最多只有一个&#xff0c;然后按位枚举贪心即可。 代码 #include <bits/stdc.h> using namespac…

Codeforces Round 871 (Div. 4) A - H

文章目录 一、A - Love Story二、B - Blank Space三、C - Mr. Perfectly Fine四、D - Gold Rush五、E - The Lakes六、F - Forever Winter七、G - Hits Different八、H - Dont Blame Me 一、A - Love Story 思路: 直接比较 代码: #include <bits/stdc.h> #define int …

LeetCode 778. Swim in Rising Water【最小瓶颈路;二分+BFS或DFS;计数排序+并查集;最小生成树】2096

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

LeetCode 1631. Path With Minimum Effort【最小瓶颈路;二分+BFS或DFS;计数排序+并查集;最小生成树】1947

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

1004 Counting Leaves(详细注解+30行代码)

1004 Counting Leaves 分数 30 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Input Specification: Each input file contains one…

C++ 更多的DFS深度优先搜索...

目录 DFS模版 剪枝 DFS的两种状态 使用全局变量存储 使用函数参数存储传递 众所周知&#xff0c;DFS是一种省督有限搜索&#xff0c;可以想象成一棵树根节点K开始递归到最深层的节点&#xff0c;通常用来枚举符合题目的所有可能情况或者个数。 DFS模版 void dfs(int pos…

654.最大二叉树, 617.合并二叉树

654.最大二叉树 ​​​​​654. 最大二叉树 思路&#xff1a;递归&#xff0c;这道题和利用中序和后序数组构造树以及利用前序和中序数组构造树两道题类似&#xff0c; 终止条件&#xff1a; 当遍历数组的范围为0&#xff0c;直接返回null 或只有一个元素则返回这个元素 单…

8/14题解

题目描述 将 [二 维] 的 数 组 [组 合] 输 出样例输入 [[1,2,3],[2,3],[3,6]] 样例输出 123 126 133 136 223 226 233 236 323 326 333 336 解题思路 深搜 回溯 示例代码 let arr [[1,2,3],[2,3],[3,6]]; let res [];function dfs(idx){if(idx > arr.length &&…

代码随想录算法训练营第十八天|654.最大二叉树, 617.合并二叉树, 700.二叉搜索树中的搜索,98.验证二叉搜索树

654.最大二叉树 ​​​​​654. 最大二叉树 思路&#xff1a;递归&#xff0c;这道题和利用中序和后序数组构造树以及利用前序和中序数组构造树两道题类似&#xff0c; 终止条件&#xff1a; 当遍历数组的范围为0&#xff0c;直接返回null 或只有一个元素则返回这个元素 单…

【题目记录】——第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(沈阳)

文章目录B Bitwise Exclusive-OR SequenceE Edward Gaming, the ChampionJ Luggage LockH Line Graph MatchingM String Problem 字符串&#xff0c;后缀自动机题目地址 第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛&#xff08;沈阳&#xff09;B Bitwise Exclusive-OR Se…

数据结构学习记录——图的遍历(深度优先搜索、广度优先搜索、为什么需要两种遍历、图不连通怎么办)

目录 深度优先搜索 概念 图解过程 伪代码 时间复杂度 具体代码&#xff08;C语言&#xff09; 广度优先搜索 概念 图解过程 伪代码 时间复杂度 具体代码&#xff08;C语言&#xff09; 为什么需要两种遍历 图不连通怎么办 连通 路径 回路 连通图 连通…

洛谷P1036题解

一、问题引出 [NOIP2002 普及组] 选数 题目描述 已知 n n n 个整数 x 1 , x 2 , ⋯ , x n x_1,x_2,\cdots,x_n x1​,x2​,⋯,xn​&#xff0c;以及 1 1 1 个整数 k k k&#xff08; k < n k<n k<n&#xff09;。从 n n n 个整数中任选 k k k 个整数相加&…

算法套路十七——买卖股票问题:状态机 DP

算法套路十七——买卖股票问题&#xff1a;状态机 DP 状态机DP是一种将动态规划方法应用于有限状态机&#xff08;Finite State Machine&#xff09;的问题求解方法。 状态机DP&#xff08;State Machine DP&#xff09;是一种动态规划的思想&#xff0c;它通常用于解决一些具…

【题目记录】——Codeforces Round #766 (Div. 2)

文章目录A Not Shading 简单思维B Not Sitting 思维搜索C Not Assigning题目集地址 Codeforces Round #766 (Div. 2)A Not Shading 简单思维 题目地址:A Not Shading 题目大意:一个棋盘&#xff0c;n*m大小&#xff0c;有黑色方块和白色方块&#xff0c;对于每一个黑色方块可以…

探索经典算法 图算法、堆操作和并查集

图算法、堆操作和并查集是计算机科学中常用的数据结构和算法&#xff0c;它们在解决各种实际问题中具有重要的应用价值。在本文中&#xff0c;我将详细介绍这三个主题&#xff0c;并提供相应的示例代码和应用场景&#xff0c;以帮助读者更好地理解和应用这些概念。 一、图算法…

C-木棍游戏 DFS暴力

题目链接&#xff1a;C-木棍游戏_牛客小白月赛43 (nowcoder.com) #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #include <iostream> #include<stack> #include<cstdlib> #include<map> #pragma …

LeetCode50天刷题计划(Day 29— 跳跃游戏(11.00-13.20)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目跳跃游戏示例提示二、思路dfs贪心&#xff08;一&#xff09;贪心&#xff08;二&#xff09;三、代码1.dfs&#xff08;没过&#xff09;2.贪心13.贪心…

【dfs序+线段树】P3178 [HAOI2015]树上操作

这道题&#xff0c;昨天调到一点多都没调出来&#xff0c;眼睛都要瞎了 今天看着题解边看边调出来了&#xff0c;但是还是感觉不是很会 m d&#xff0c;学的第一道关于树的DS就搞成这样 感觉很寄啊 P3178 [HAOI2015]树上操作 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)…

AtCoder Beginner Contest 300G - P-smooth number解题报告

AtCoder Beginner Contest 300G - P-smooth number解题报告 1 题目链接 传送门 2 题目大意 题目&#xff1a;P-光滑数的数量 题目大意&#xff1a; 在 1 1 1 到 n n n 中&#xff0c;有多少个数的所有质因数均不超过 p ( p ≤ 100 ) p\ (p\leq100) p (p≤100)。 3 解…

LeetCode50天刷题计划(Day 24— 全排列、全排列II(10.20-11.30)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目全排列示例提示二、思路三、代码1.python&#xff08;dfs&#xff09;四、题目全排列II示例提示&#xff1a;五、思路六、代码1.暴力去重2.优雅去重前言…

LeetCode50天刷题计划(Day 21—— 外观数列、组合总和(11.50-12.30;12.30-14.20)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目外观数列示例提示二、思路三、代码1.python四、题目组合总和示例提示五、思路六、代码python前言 今天第一题答案全写题目上了&#xff0c;于是又写了第…

LeetCode50天刷题计划(Day 15—— 括号生成(9.50-11.00)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目括号生成示例提示二、思路三、代码前言 今天的题也还算顺利捏~ 一、题目 括号生成 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#x…

组合总和 (递归回溯+剪枝)

题目&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限…

数据结构与算法基础-学习-24-遍历之DFS(深度优先搜索)和BFS(广度优先搜索)

目录 一、遍历定义 二、遍历实质 三、DFS 四、BFS 五、宏定义 六、自定义类型 七、函数实现 1、DFS&#xff08;邻接矩阵实现&#xff09; 2、DFS&#xff08;邻接表实现&#xff09; 3、BFS&#xff08;邻接矩阵实现&#xff09; 4、BFS&#xff08;邻接表实现&…

5.2图的BFS与DFS遍历

一.BFS遍历 1.图的广度优先遍历代码实现 说明&#xff1a; 1.广度优先遍历&#xff0c;类比树的层次遍历&#xff08;树属于特殊的图&#xff09; 2.对应算法想象图的物理结构存储&#xff1a; 邻接矩阵表示唯一时间复杂度&#xff1a;O(|V|^2); 邻接表不唯一:O(|V|2|E|)&…

Leecode 784. 字母大小写全排列 DFS

原题链接&#xff1a;Leecode 784. 字母大小写全排列 DFS class Solution { public:vector<string> v;void dfs(string s,string t,int n){if(t.size()s.size()){v.push_back(t);return;}if(isupper(s[n])){char tmptolower(s[n]);dfs(s,ttmp,n1);}if(islower(s[n])){c…

第五届湖北省大学生程序设计竞赛(HBCPC 2023)vp赛后补题

Problem - B - Codeforces 思路&#xff1a; 数位dp&#xff0c;如果我们暴力的计算的状态的话&#xff0c;显然就是记录每个数字出现几次。但是显然这样难以发挥数位dp的记忆化功效&#xff0c;因为只有出现次数相同&#xff0c;你是什么数字&#xff0c;实际是无所谓的。所…

有向图邻接表存储 + 树和图的深度优先遍历

#include<iostream> #include<algorithm> #include<cstdio> #include<cstring>using namespace std;const int N 100010, M 2*N;int h[N], e[M], ne[M], idx;bool st[N];// dfs只搜索一遍// 有向图邻接表存储 void add(int a, int b){e[idx] b;ne[…

AcWing 回转游戏 dfs IDA* 剪枝 统一操作 java

&#x1f351; 算法题解专栏 &#x1f351; 回转游戏 如下图所示&#xff0c;有一个 # 形的棋盘&#xff0c;上面有 1 , 2 , 3 1,2,3 1,2,3 三种数字各 8 8 8 个。 给定 8 8 8 种操作&#xff0c;分别为图中的 A s i m H A \\sim H AsimH。 这些操作会按照图中字母和箭头…

选课(动态规划)

大学实行学分制。每门课程都有一定的学分&#xff0c;学生只要选修了这门课并通过考核就能获得相应学分。学生最后的学分是他选修各门课的学分总和。 每个学生都要选择规定数量的课程。有些课程可以直接选修&#xff0c;有些课程需要一定的基础知识&#xff0c;必须在选了其他…

CF208E Blood Cousins

题面 Blood Cousins - 洛谷 题目大意&#xff1a; 给出一个n个点的森林&#xff0c;m次询问&#xff0c;每次求一个点的k级亲戚的数量 k级亲戚定义为&#xff0c;u≠v&#xff0c;u&#xff0c;v的k级祖先相同&#xff0c;则u&#xff0c;v为k级亲戚 题解 一定仔细读题md…

筛法(Sieve of Eratosthenes)

Sieve of Eratosthenes 筛法 百度百科 在数学中&#xff0c;Eratosthenes 筛法是一种古老的算法&#xff0c;用于查找任何给定限制内的所有素数。 package mainimport "fmt"/*素数非素数&#xff1a;也成为合数求0~100内有多少个素数 */ func main() {fmt.Println(…

一道算法题-验证二叉搜索树

最初看这道题的时候&#xff0c;发现通过率36%&#xff0c;觉得比较神奇&#xff0c;按理说应该是相对简单的题目。结果啪啪打脸&#xff0c;长时间没有做树相关的题目&#xff0c;连这种基础题型都忘记怎么做了。好在经过两次错误尝试后&#xff0c;发现了正常解题方案。 验证…

小叶的巡查

1.题目链接 https://ac.nowcoder.com/acm/contest/181/D 2.大致题意 任何一个大城市都能从首都直接或者通过其他大城市间接到达&#xff0c;在走第x-1千米到第x千米这一千米中&#xff08;x是整数&#xff09;&#xff0c;他花费的路费是x10这么多。也就是说走1千米花费11&…

Java实现回溯算法入门(排列+组合+子集)

算法相关数据结构总结&#xff1a; 序号数据结构文章1动态规划动态规划之背包问题——01背包 动态规划之背包问题——完全背包 动态规划之打家劫舍系列问题 动态规划之股票买卖系列问题 动态规划之子序列问题 算法&#xff08;Java&#xff09;——动态规划2数组算法分析之数…

无向图的深度优先遍历与广度优先遍历

简介 深度优先遍历&#xff08;Depth-First Search&#xff0c;DFS&#xff09;和广度优先遍历&#xff08;Breadth-First Search&#xff0c;BFS&#xff09;是图遍历算法中常用的两种方法。它们可以用于搜索和遍历图中的顶点&#xff0c;每种方法都有其独特的特点和应用场景…

【算法题】链表系列之从尾到头打印链表、重建二叉树、用两个栈实现队列

【算法题】链表系列 一、从尾到头打印链表1.1、题目描述1.2、递归法1.3、栈&#xff08;stack&#xff09; 二、重建二叉树2.1、题目描述2.2、前置知识&#xff1a;2.3、分治算法2.4、小结 三、用两个栈实现队列3.1、题目描述3.2、双栈法3.3、小结 总结 一、从尾到头打印链表 …

饮用水除硝酸盐、饮用水除砷、饮用水除氟、饮用水除铁锰的技术汇总

我们所说的“自来水”是指从水龙头里放出来的水。但从水龙头里放出来并不等于安全卫生。实际上&#xff0c;原水必须经过各种处理措施之后才能称为安全卫生的饮用水。每一滴水都要经过了混凝、沉淀、过滤、消毒四个步骤的处理&#xff0c;才能去除杂质和细菌&#xff0c;变得安…

深度优先搜索与动态规划|543, 124, 687

深度优先搜索与动态规划|543. 二叉树的直径&#xff0c;124. 二叉树中的最大路径和&#xff0c;687. 最长同值路径 二叉树的直径二叉树中的最大路径和最长同值路径 二叉树的直径 好久没写二叉树了&#xff0c;主要还是看遍历的顺序是什么样的。 # Definition for a binary tr…

Leetcode-每日一题【剑指 Offer 13. 机器人的运动范围】

题目 地上有一个m行n列的方格&#xff0c;从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动&#xff0c;它每次可以向左、右、上、下移动一格&#xff08;不能移动到方格外&#xff09;&#xff0c;也不能进入行坐标和列坐标的数位之和大于k的格子。例…

图的深度优先遍历和广度优先遍历

目录 图的创建和常用方法 深度优先遍历&#xff08;Depth First Search&#xff09; 广度优先遍历&#xff08;Broad First Search&#xff09; 图的创建和常用方法 //无向图 public class Graph {//顶点集合private ArrayList<String> vertexList;//存储对应的邻接…

E2. PermuTree (hard version)

E2. PermuTree (hard version) 提示一&#xff1a;数值域无关性&#xff0c;不管给一个子树分配哪些数字&#xff0c;在子树上经过排序后可得到唯一的最大值 提示二&#xff1a;只关注当前节点的数值应当将哪些子树分隔开 根据根节点的值可以将子树划分为两个子集&#xff0c;设…

UVA-1601 万圣节后的早晨 题解答案代码 算法竞赛入门经典第二版

GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 以三个点的当前位置作为状态&#xff0c;广度优先遍历&#xff0c;找到终点即为最短次数。 注意&#xff1a; 一次可以移动多个点&#xff0c;但是每个点只能移动一步。在同一次中&#xf…

C数据结构与算法——无向图(邻接矩阵) 应用

实验任务 (1) 掌握图的邻接矩阵存储及基本算法&#xff1b; (2) 掌握该存储方式下的DFS和BFS算法。 实验内容 实现图的邻接矩阵存储结构实现基于邻接矩阵的相关算法及遍历算法 实验源码 #include <malloc.h> #include <stdio.h>#define MAXSIZE 1000 #define …

LeetCode 2811. Check if it is Possible to Split Array【脑筋急转弯;前缀和+动态规划或记忆化DFS】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

P1123 取数游戏

取数游戏 题目描述 一个 N M N\times M NM 的由非负整数构成的数字矩阵&#xff0c;你需要在其中取出若干个数字&#xff0c;使得取出的任意两个数字不相邻&#xff08;若一个数字在另外一个数字相邻 8 8 8 个格子中的一个即认为这两个数字相邻&#xff09;&#xff0c;求…

数据结构_关键路径

AOV网(activity on edge netwo)(边表示活动的网):在一个表示工程的带权有向图中&#xff0c;用顶点表示事件&#xff0c;用有向边表示活动&#xff0c;边上的权值表示活动的持续时间。 源点&#xff1a;整个工程的开始点&#xff0c;其入度为0。 终点&#xff1a;整个工程的结…

ACWing每日一题.3511

ACWing每日一题.3511 题目&#xff1a; 有三个杯子&#xff0c;容量分别为 A,B,C。初始时&#xff0c;C杯装满了水&#xff0c;而 A,B杯都是空的。现在在保证不会有漏水的情况下进行若干次如下操作&#xff1a; 将一个杯子 x中的水倒到另一个杯子 y 中&#xff0c;当 x 空了…

7.2 POJ刷题记录【深搜广搜】

目录 1321 棋盘问题 2698 八皇后问题 2748 全排列 3050 Hopscotch 4070 全排列 4077 出栈序列统计 4103 踩方格 4127 迷宫问题 B Anagram 1164:The Castle 1562:Oil Deposits 1565:Skew Binary bool check(){} void dfs(int step) { if(step>n)//判断边界&a…

【题目记录】——ICPC南宁2017

文章目录F The Chosen One 数学规律H The Game of Life 元胞自动机类问题I Rake It In 对抗搜索J Rearrangement 数学规律L Twice Equation 数学打表找规律题目集地址 ICPC南宁2017F The Chosen One 数学规律 题目地址F - The Chosen One 题目大意:给出1-n&#xff0c;每次删除…

2023牛客暑期多校训练营9-B Semi-Puzzle: Brain Storm

2023牛客暑期多校训练营9-B Semi-Puzzle: Brain Storm https://ac.nowcoder.com/acm/contest/57363/B 文章目录 2023牛客暑期多校训练营9-B Semi-Puzzle: Brain Storm题意解题思路代码 题意 解题思路 欧拉定理 a b ≡ { a b % φ ( p ) g c d ( a , p ) 1 a b g c d ( a ,…

题解:ABC277C - Ladder Takahashi

题解&#xff1a;ABC277C - Ladder Takahashi 题目 链接&#xff1a;Atcoder。 链接&#xff1a;洛谷。 难度 算法难度&#xff1a;普及。 思维难度&#xff1a;入门。 调码难度&#xff1a;入门。 综合评价&#xff1a;简单。 算法 深度优先搜索简单图论 思路 把每…

2022 ICPC 沈阳 L(模拟 , dfs)

2022 ICPC 沈阳 L(模拟 &#xff0c; dfs) Problem - L - Codeforces 大意&#xff1a;给出两支队伍 &#xff0c; 交替发动攻击 &#xff0c; 问两支队伍分别获胜和平局的概率。 一&#xff1a;先手规则&#xff1a; 两队轮流发动攻击(take turns) &#xff0c;人数多的先…

PAT 1021 Deepest Root

个人学习记录&#xff0c;代码难免不尽人意。 A graph which is connected and acyclic can be considered a tree. The height of the tree depends on the selected root. Now you are supposed to find the root that results in a highest tree. Such a root is called the…

深入探索图算法:用C语言实现BFS和DFS

深入探索图算法&#xff1a;用C语言实现BFS和DFS 图算法是计算机科学中一个重要且有趣的领域&#xff0c;它们在解决许多现实世界的问题时发挥着关键作用。本篇博客将介绍两种常见的图算法&#xff1a;广度优先搜索&#xff08;BFS&#xff09;和深度优先搜索&#xff08;DFS&…

PAT 1013 Battle Over Cities

个人学习记录&#xff0c;代码难免不尽人意。 It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to repair a…

二刷LeetCode--46. 全排列(C++版本),回溯

思路&#xff1a;本题是典型的回溯问题&#xff0c;需要列举出每个排列&#xff0c;因此使用回溯法&#xff0c;对每个使用过的元素进行标记&#xff0c;因此需要一个和Nums同样大的标记数组&#xff0c;每个元素被使用之后在递归之前将其标记为已使用&#xff0c;在递归的时候…

matlab使用教程(17)—广度优先和深度优先搜索

1.可视化广度优先搜索和深度优先搜索 此示例说明如何定义这样的函数&#xff1a;该函数通过突出显示图的节点和边来显示 bfsearch 和 dfsearch 的可视化结果。 创建并绘制一个有向图。 s [1 2 3 3 3 3 4 5 6 7 8 9 9 9 10]; t [7 6 1 5 6 8 2 4 4 3 7 1 6 8 2]; G dig…

寻路算法(Java 实例代码源码包下载)

目录 寻路算法 Java 实例代码 src/runoob/graph/Path.java 文件代码&#xff1a; 寻路算法 图的寻路算法也可以通过深度优先遍历 dfs 实现&#xff0c;寻找图 graph 从起始 s 点到其他点的路径&#xff0c;在上一小节的实现类中添加全局变量 from数组记录路径&#xff0c;fr…

To_Heart—题解——P6234 [eJOI2019] T形覆盖

link. 突然很想写这篇题解。虽然题目不算难。 考场只有30分是为什么呢&#xff1f;看来是我没有完全理解这道题目吧&#xff01; 首先很明显的转换是&#xff0c;把 T 型覆盖看成十字形&#xff0c;再考虑最后减去某一块的贡献。 然后然后直接往原图上面放十字形!对于每一个…

leetcode1094. 拼车(差分数组-java)

差分数组 leetcode 1094 拼车差分数组代码演示&#xff1a; 前缀和数组 leetcode 1094 拼车 难度 - 中等 原题链接 - 拼车 车上最初有 capacity 个空座位。车 只能 向一个方向行驶&#xff08;也就是说&#xff0c;不允许掉头或改变方向&#xff09; 给定整数 capacity 和一个数…

dfs之单词搜索

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那些水平相邻或垂直相…

LC-1448. 统计二叉树中好节点的数目(DFS、)

1448. 统计二叉树中好节点的数目 中等 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。 示例 1&#xff1a; 输入&#xff1a;root [3,1,…

【每日一题】1448. 统计二叉树中好节点的数目

【每日一题】1448. 统计二叉树中好节点的数目 1448. 统计二叉树中好节点的数目题目描述解题思路 1448. 统计二叉树中好节点的数目 题目描述 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节…

从零学算法 (剑指 Offer 13)

地上有一个m行n列的方格&#xff0c;从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动&#xff0c;它每次可以向左、右、上、下移动一格&#xff08;不能移动到方格外&#xff09;&#xff0c;也不能进入行坐标和列坐标的数位之和大于k的格子。例如&am…

从零学算法2833

2833.给你一个长度为 n 的字符串 moves &#xff0c;该字符串仅由字符 ‘L’、‘R’ 和 ‘’ 组成。字符串表示你在一条原点为 0 的数轴上的若干次移动。 你的初始位置就在原点&#xff08;0&#xff09;&#xff0c;第 i 次移动过程中&#xff0c;你可以根据对应字符选择移动方…

递归算法学习——子集

目录 一&#xff0c;题目解析 二&#xff0c;例子 三&#xff0c;题目接口 四&#xff0c;解题思路以及代码 1.完全深度搜索 2.广度搜索加上深度优先搜索 五&#xff0c;相似题 1.题目 2.题目接口 3.解题代码 一&#xff0c;题目解析 给你一个整数数组 nums &#xff0c…

【算法】图的常见算法与Java实现代码

图的常见算法包括深度优先搜索&#xff08;DFS&#xff09;、广度优先搜索&#xff08;BFS&#xff09;、最短路径算法&#xff08;Dijkstra算法和Bellman-Ford算法&#xff09;、最大流算法&#xff08;Ford-Fulkerson算法和Edmonds-Karp算法&#xff09;等。下面给出这些算法…

[递归] 子集 全排列和组合问题

1.1 子集I 思路可以简单概括为 二叉树&#xff0c;每一次分叉要么选择一个元素&#xff0c;要么选择空&#xff0c;总共有n次&#xff0c;因此到n1进行保存结果&#xff0c;返回。像这样&#xff1a; #include <cstdio> #include <vector> #include <algorithm&…

Tri Tiling·递推

Tri Tiling题目信息输入输出测试样例来源解答想法题目信息 In how many ways can you tile a 3xn rectangle with 2x1 dominoes? Here is a sample tiling of a 3x12 rectangle. 有多少种方法可以用2x1多米诺骨牌平铺3xn矩形&#xff1f; 下面是3x12矩形的平铺示例。 输入 …

比赛中的配对次数

给你一个整数 n &#xff0c;表示比赛中的队伍数。比赛遵循一种独特的赛制&#xff1a; 如果当前队伍数是 偶数 &#xff0c;那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛&#xff0c;且产生 n / 2 支队伍进入下一轮。 如果当前队伍数为 奇数 &#xff0c;那么将…

【LeetCode75】第四十三题 钥匙和房间

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们一个数组&#xff0c;表示对应的房间里拥有能开启的对应索引号的钥匙。 一开始我们只能进入0号房间&#xff0c;也就是数组里索引…

每日一题 1372二叉树中的最长交错路径

题目 给你一棵以 root 为根的二叉树&#xff0c;二叉树中的交错路径定义如下&#xff1a; 选择二叉树中 任意 节点和一个方向&#xff08;左或者右&#xff09;。如果前进方向为右&#xff0c;那么移动到当前节点的的右子节点&#xff0c;否则移动到它的左子节点。改变前进方…

2023-9-30 JZ36 二叉搜索树与双向链表

题目链接&#xff1a;二叉搜索树与双向链表 import java.util.*; /** public class TreeNode {int val 0;TreeNode left null;TreeNode right null;public TreeNode(int val) {this.val val;}} */ public class Solution {TreeNode pre null;public TreeNode Convert(Tree…

【DFS】1905. 统计子岛屿

1905. 统计子岛屿 解题思路 如果两个岛屿的点不一样 说明grid2这个岛屿一定不是子岛屿 然后淹没i j 以及相邻的土地现在grid2 剩下的岛屿 全部都是子岛屿 计算岛屿的数量 dfs计算陆地数量 class Solution {public int countSubIslands(int[][] grid1, int[][] grid2) {int m …

洛谷 P1162 填涂颜色

dfs熟练后做起来很快&#xff0c;所以没写什么注释了。 做题思路&#xff1a;&#xff08;将1组成的闭合圈内的0都填为2&#xff0c;只有一个闭合圈且圈内至少有一个0 &#xff0c;围圈只走上下左右四个方向&#xff09;那么就可以用反向思维&#xff0c;先把圈外所有的0搜出来…

洛谷 P1596 Lake Counting S

AC代码在最下面。 做题记录&#xff1a; 昨天没过的&#xff1a; 今天重新理了下思路&#xff1a; 水坑问题思路&#xff1a;用双重for循环搜索W&#xff0c;搜到后cnt然后用dfs搜索这个水坑占的所有格子&#xff0c;标记或换成.&#xff0c;以免重复搜索&#xff0c;然后继续…

LeetCode-386 字典序排数

题目给你一个整数 n &#xff0c;按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。 示例 1&#xff1a; 输入&#xff1a;n 13 输出&#xff1a;[1,10,11,12,13,2,3,4,5,6,7,8,9] 若不考虑时间复杂度和空间复杂度可以使…

从零学算法(非官方题库)

输入两棵二叉树A和B&#xff0c;判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构&#xff0c; 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A:3/ \4 5/ \1 2给定的树 B&#xff1a;4 / 1返回 true&#xff0c;因为 B 与 A 的一个子树拥有相…

P8642 [蓝桥杯 2016 国 AC] 路径之谜

[蓝桥杯 2016 国 AC] 路径之谜 题目描述 小明冒充 X X X 星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。 假设城堡地面是 n n n\times n nn 个方格。如图所示。 按习俗&#xff0c;骑士要从西北角走到东南角。 …

c++红与黑(DFS之连通性模型)

连通性是图论中一个重要的概念&#xff0c;用于描述图中的点与点之间是否存在路径。在连通图中&#xff0c;任意两个点之间都存在至少一条路径。而在非连通图中&#xff0c;存在一些点与其它点没有连通的路径。 在使用深度优先搜索&#xff08;DFS&#xff09;算法解决图论问题…

每天一道leetcode:797. 所有可能的路径(图论中等深度优先遍历)

今日份题目&#xff1a; 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从节点 i 可以访问的所有节点的列表&#xff08;即从节点 i 到节…

深度优先搜索(java)

import java.util.ArrayList; import java.util.List; import java.util.Stack;class Graph {private int V; // 图中节点的数量private List<List<Integer>> adj; // 邻接列表public Graph(int v) {V v;adj new ArrayList<>(v);for (int i 0; i < v; …

算法简述-串和串的匹配、排序、深度/广度优先搜索、动态规划、分治、贪心、回溯、分支限界

目录 算法简述 基本 典型算法列举 串和串的匹配 排序 深度/广度优先搜索 动态规划 分治 贪心 回溯 分支限界 算法简述 基本 咳咳嗯…算法嘛&#xff0c;咱也不是 CS 科班学生&#xff0c;咱就说&#xff0c;算法是对已经建模后的问题的解决的具体途径和方法&#x…

【题解】二叉树的镜像、判断是不是二叉搜索树

文章目录 二叉树的镜像判断是不是二叉搜索树 二叉树的镜像 题目链接&#xff1a;二叉树的镜像 解题思路1&#xff1a;递归 对于树的问题&#xff0c;我们可以把整体看作一棵树&#xff0c;把左右子树看作独立的树进行操作&#xff0c;所以对于树的问题&#xff0c;一般情况下…

算法通过村第八关-树(深度优先)青铜笔记|经典算法题目

文章目录 前言1. 二叉树里面的双指针1.1 判断两棵树是否相同1.2 对称二叉树1.3 合并二叉树 2. 路径专题2.1 二叉树的所有路径2.2 路径总和 3. 翻转的妙用总结 前言 提示&#xff1a;人类的底里是悲伤&#xff0c;我们都在用厚重的颜料&#xff0c;覆盖那些粗糙的线稿。--张皓宸…

LeetCode 332. Reconstruct Itinerary【欧拉回路,通路,DFS】困难

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

dfs(深搜反推)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 给定两个整数 a,b (a≤b)a,b\ (a \leq b)a,b (a≤b)&#xff0c;在一次操作中&#xff0c;你可以选择以下三个操作中的任意一个进行操作&#xff1a; a1 a*a a*2 请求出将 aaa 变成 bbb 的…

二分图-染色法-dfs

1.判断一个图是否是二分图当且仅当图中不包含奇数环 2. dfs当前边为1 他的临边为2 看是否满足条件 3. 注意图有可能不是连通图 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays;public class BinaryG…

c++二叉树遍历

目录 二叉树节点结构&#xff1a; 1.1 前序遍历&#xff08;Preorder Traversal&#xff09;&#xff1a; 递归实现&#xff08;preorderRecursive函数&#xff09;&#xff1a;首先访问当前节点&#xff0c;然后递归遍历左子树&#xff0c;最后递归遍历右子树。这种遍历方式…

拓扑排序算法 -- dfs、bfs

210. 课程表 II 该题用到「拓扑排序」的算法思想&#xff0c;关于拓扑排序&#xff0c;直观地说就是&#xff0c;让你把⼀幅图「拉平」&#xff0c;⽽且这个「拉平」的图⾥⾯&#xff0c;所有箭头⽅向都是⼀致的&#xff0c;⽐如上图所有箭头都是朝右的。 很显然&#xff0c;如…

华为OD机试 - 找出经过特定点的路径长度 - 深度优先搜索(Java 2022 Q4 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

【DFS】1254. 统计封闭岛屿的数目

1254. 统计封闭岛屿的数目 解题思路 封闭岛屿就是上下左右全部被1包围的0 也就是靠边的0不算做封闭岛屿首先将上下左右的边界上的岛屿全部变成海洋然后在对剩下的岛屿进行DFS遍历 class Solution {public int closedIsland(int[][] grid) {// 封闭岛屿就是上下左右全部被1包…

华为OD机试 - 等和子数组最小和 - 深度优先搜索(Java 2022 Q4 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》…

LeetCode 133. Clone Graph【图,DFS,BFS,哈希表】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

AcWing- 5051. 翻转 + 5052. 排列 -- 思维题 + DP

5051. 翻转 需要注意一些细节&#xff0c;具体见代码 #include <bits/stdc.h> using namespace std; #define ll long long #define sf(x) scanf("%d", &x); #define de(x) cout << x << " "; #define Pu puts(""); con…

LeetCode 1123. 最深叶节点的最近公共祖先:DFS

【LetMeFly】1123.最深叶节点的最近公共祖先 力扣题目链接&#xff1a;https://leetcode.cn/problems/lowest-common-ancestor-of-deepest-leaves/ 给你一个有根节点 root 的二叉树&#xff0c;返回它 最深的叶节点的最近公共祖先 。 回想一下&#xff1a; 叶节点 是二叉树…

P1025 [NOIP2001 提高组] 数的划分(dfs搜有顺序)

[NOIP2001 提高组] 数的划分 - 洛谷 #include<bits/stdc.h> using namespace std; const int N220; int n,k; int ans; void dfs(int sum,int cnt,int last)//当前的和&#xff0c;用了几个数&#xff0c;上个数 {if(cntk){if(sumn)ans; // printf("return\…

LeetCode 449. Serialize and Deserialize BST【树,BFS,DFS,栈】困难

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

5147. 数量

题目&#xff1a; 样例1&#xff1a; 输入 4 输出 1 样例2&#xff1a; 输入 7 输出 2 样例3&#xff1a; 输入 77 输出 6 思路&#xff1a; 根据题意&#xff0c;如果直接 for 循环暴力&#xff0c;肯定会超时&#xff0c;但是我们换个思路想&#xff0c;只要包含 4 和 7的…

lintcode 1646 · 合法组合【字符串DFS, vip 中等 好题】

题目 https://www.lintcode.com/problem/1646 给一个单词s,和一个字符串集合str。这个单词每次去掉一个字母&#xff0c;直到剩下最后一个字母。求验证是否存在一种删除的顺序&#xff0c;这个顺序下所有的单词都在str中。例如单词是’abc’&#xff0c;字符串集合是{‘a’,’…

LeetCode 428. Serialize and Deserialize N-ary Tree【树,BFS,DFS】困难

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

【洛谷 P1037】[NOIP2002 普及组] 产生数 题解(图论+深度优先搜索+排列组合+高精度)

[NOIP2002 普及组] 产生数 题目描述 给出一个整数 n n n 和 k k k 个变换规则。 规则&#xff1a; 一位数可变换成另一个一位数。规则的右部不能为零。 例如&#xff1a; n 234 , k 2 n234,k2 n234,k2。有以下两个规则&#xff1a; 2 ⟶ 5 2\longrightarrow 5 2⟶5。 …

C++深度优化(DFS)算法的应用:收集所有金币可获得的最大积分

涉及知识点 深度优化(DFS) 记忆化 题目 节点 0 处现有一棵由 n 个节点组成的无向树&#xff0c;节点编号从 0 到 n - 1 。给你一个长度为 n - 1 的二维 整数 数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示在树上的节点 ai 和 bi 之间存在一条边。另给你一个下标从 0…

D. Cyclic Operations Codeforces Round 897 (Div. 2)

Problem - D - Codeforces 题目大意&#xff1a;有一个长度为n的数组a&#xff0c;每次操作可以选取一个长度为k的所有数互不相同的数组b&#xff0c;令a[bi]b[i%k1]&#xff0c;问能否将一个全为零的数组通过任意次操作得到a 1<k<n<1e5 思路&#xff1a;通过上述操…

比较字符串和字符

Leetcode 93&#xff08;复原ip地址&#xff09; 比较字符串&#xff08;数字型&#xff09;大致有两种方法&#xff1a; 1、通过Integer.valueOf()转化成数字 class Solution {List<String> result new ArrayList<>();LinkedList<String> temp new Lin…

LeetCode 2097. 合法重新排列数对【欧拉通路,DFS】2650

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

每日一题 77组合(剪枝)

题目 77 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 示例 2&#xff1a; 输入&#x…

算法通过村第八关-树(深度优先)白银笔记|深度和高度问题

文章目录 前言1. 最大深度问题2. 判断平衡树3. 最小深度4. N叉树的最大深度总结 前言 提示&#xff1a;我的整个生命&#xff0c;只是一场为了提升社会地位的低俗斗争。--埃莱娜费兰特《失踪的孩子》 这一关我们看一些比较特别的题目&#xff0c;关于二叉树的深度和高度问题。这…

9_19,洛谷刷题记录

要做一株小草&#xff0c;默默努力 求细胞数量 #include<iostream> using namespace std; //对每个点进行搜索&#xff0c;dfs/bfs&#xff0c;将搜过的点标记出来&#xff0c;然后记录次数 //搜索几次&#xff0c;就有几个细胞 const int N110; int g[N][N],st[N][N]; …

算法通过村第八关-树(深度优先)黄金笔记|寻找祖先

文章目录 前言最近公共祖先问题总结 前言 提示&#xff1a;生活就是一场有很多规则&#xff0c;却没有裁判的比赛。 --约瑟夫布罗茨基《悲伤与理智》 最近公共祖先问题 参考题目地址&#xff1a;236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; 如果将搜索…

Leetcode 386. 字典序排数

文章目录 题目代码&#xff08;9.22 首刷看解析&#xff09; 题目 Leetcode 386. 字典序排数 代码&#xff08;9.22 首刷看解析&#xff09; 迭代DFS class Solution { public:vector<int> lexicalOrder(int n) {vector<int> ret(n);int number 1;for(int i 0…

【每日一题Day335】LC1993树上的操作 | dfs

树上的操作【LC1993】 给你一棵 n 个节点的树&#xff0c;编号从 0 到 n - 1 &#xff0c;以父节点数组 parent 的形式给出&#xff0c;其中 parent[i] 是第 i 个节点的父节点。树的根节点为 0 号节点&#xff0c;所以 parent[0] -1 &#xff0c;因为它没有父节点。你想要设计…

【LeetCode-中等题】513. 找树左下角的值

文章目录 题目方法一&#xff1a;前序递归方法二&#xff1a;层序遍历 题目 方法一&#xff1a;前序递归 在递归遍历到叶子结点时&#xff0c;对比此时的节点深度&#xff0c;若当前节点深度大于当前最大深度&#xff0c;就更新value值&#xff0c;最后记录下的value即为最下最…

树的直径(dp和bfs求法)

更好的阅读体验 树的直径 树中两点之间的距离&#xff1a;连接两点的路径上的权值之和 树的直径&#xff1a;树中最远的两个节点之间的距离 树的直径的两种求法&#xff0c;一种是两边bfs or dfs&#xff0c;一种是树形dp 直径的性质 1、直径两端点一定是两个叶子节点 2、距离…

华为OD机试 - 最小传输时延 - 深度优先搜索DFS(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明计算源节点1到目的节点5&#xff0c;符合要求的时延集合 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&…

深度优先搜索简介

概念&#xff1a; 深度优先搜索&#xff08;DFS&#xff09;是一种用于图遍历的算法&#xff0c;它从一个起始节点开始&#xff0c;尽可能深地探索图的分支&#xff0c;直到到达最深的节点&#xff0c;然后回溯到上一个未探索的节点&#xff0c;继续探索其他分支。DFS通过使用…

6.5 图的遍历

前言&#xff1a; 主要内容&#xff1a; 这段文字描述的是图的遍历。图的遍历与树的遍历有些相似&#xff0c;都是从某个点开始&#xff0c;按照一定的规则遍历其他的点&#xff0c;但是图的遍历更加复杂&#xff0c;因为图中存在循环和回路&#xff0c;这意味着可能会多次访…

【LeetCode-简单题】501. 二叉搜索树中的众数

文章目录 题目方法一&#xff1a;暴力哈希方法二&#xff1a;利用二叉搜索树的特性&#xff08;递归双指针&#xff09; 题目 方法一&#xff1a;暴力哈希 这是针对于普通二叉树的解法 统计number出现次数 然后将次数最大的众数集 取出来 Map<Integer , Integer > map …

二分图匹配(匈牙利算法 DFS 实现)

二分图匹配&#xff08;匈牙利算法 DFS 实现&#xff09; | INIT: g[][] 邻接矩阵 ; | CALL: res MaxMatch (); | 优点&#xff1a;实现简洁容易理解&#xff0c;适用于稠密图&#xff0c; DFS 找增广路快。 | 找一条增广路的复杂度为 O &#xff08; E &#xff09;…

【图论C++】树的直径(DFS 与 DP动态规划)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载…

2023-9-29 LCR 083 全排列

题目链接&#xff1a;全排列 class Solution {int [] nums;List<List<Integer>> res new ArrayList<>();List<Integer> path;boolean[] st;public List<List<Integer>> permute(int[] nums) {this.nums nums;path Arrays.asList(new In…

day-63 代码随想录算法训练营(19) 图论 part 02

1020.飞地的数量 分析&#xff1a;求不跟边界接壤的陆地的数量 思路一&#xff1a;深度优先遍历 先从四个侧边找陆地&#xff0c;然后进行深度优先遍历&#xff0c;把所有接壤的陆地&#xff08;1&#xff09;全部转换成海洋&#xff08;0&#xff09; 深度优先遍历&#xf…

MATLAB算法实战应用案例精讲-【优化算法】A*算法

前言 A*算法最早于1964年在IEEE Transactions on Systems Science and Cybernetics中的论文《A Formal Basis for the Heuristic Determination of Minimum Cost Paths》中首次提出。 其属于一种经典的启发式搜索方法,所谓启发式搜索,就在于当前搜索结点往下选择下一步结点时…

day-65 代码随想录算法训练营(19)图论 part 04

463.岛屿的周长 分析&#xff1a; 1.陆地的旁边是海面&#xff0c;存在周长2.陆地在边界上&#xff0c;存在周长 思路一&#xff1a;深度优先遍历 1.通过记录访问情况来访问数据 class Solution { public:int direct[4][2]{{0,1},{0,-1},{1,0},{-1,0}};int res0;void dfs(…

图的深度遍历-邻接矩阵实现

description 本题要求实现邻接矩阵存储图的深度优先遍历。 函数接口定义&#xff1a; void DFS(MGraph G,Vertex v); 其中MGraph是邻接矩阵存储的图&#xff0c;定义如下&#xff1a; #define MaxVertexNum 10 /定义最大顶点数/ typedef int Vertex;/* 用顶点下标表示顶点,…

1700*C. Number of Ways(贪心前缀和)

Problem - 466C - Codeforces Number of Ways - 洛谷 解析&#xff1a; 首先判断所有数总和是否能被三整除。 之后遍历前缀和数组&#xff0c;如果某个位置的前缀和等于sum/3&#xff0c;则记录。 某个位置前缀和等于sum/3*2则记录答案。 注意由于分成三份&#xff0c;所以同…

汇总区间[简单]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给定一个无重复元素的有序整数数组nums。 返回恰好覆盖数组中所有数字的最小有序区间范围列表。也就是说&#xff0c;nums的每个元素都恰好被某个区间范围所覆盖&#xff0c;并且不存在属于某个范围但不属于nums的数字x。 列表中的…

每日一题 1143最长公共子序列(LCS)(灵神版本)

题目 题目 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#x…

图论第1天----第797题、第200题、第695题

# 图论第1天----第797题、第200题、第695题 文章目录 一、第797题--所有可能的路径二、第200题--岛屿数量三、第659题--岛屿的最大面积 ​ 又继续开始修行&#xff0c;把图论这块补上&#xff0c;估计要个5-6天时间。 一、第797题–所有可能的路径 ​ 图的dfs3部曲&#xff0…

力扣第257题 二叉树的所有路径 c++ 树 深度优先搜索 字符串 回溯 二叉树

题目 257. 二叉树的所有路径 简单 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [1,2,3,null,5] 输出&#xff1a;["1->2-&g…

【数据结构】迷宫问题DFS非递归(c语言实现)

本来之前写过一个推箱子&#xff0c;就想着写个迷宫游戏&#xff0c;因为想着推箱子游戏里面也有墙&#xff0c;也有玩家的移动&#xff0c;比推箱子简单的是还不用判断前面是否有箱子的情况&#xff0c;但是自己写的迷宫游戏如果自己随机生成的迷宫地图的话&#xff0c;不一定…

经典算法-----农夫过河问题(深度优先搜索)

目录 前言 农夫过河问题 1.问题描述 2.解决思路 位置编码 获取位置 判断是否安全 深度优先遍历&#xff08;核心算法&#xff09; 3.完整代码 前言 今天我们来解决一个有意思的问题&#xff0c;也就是农夫过河问题&#xff0c;可能这个问题我们小时候上学就听说过类似的…

COCI 2021-2022 #1 - Logičari 题解

题目大意 给定一个 n n n 个点的基环树&#xff0c;现在对基环树上的点染色&#xff0c;使得每个点都有且仅有一个与他相连的点&#xff08;不包括它自身&#xff09;被染色&#xff0c;求最少的染色点数&#xff0c;或者返回无解。 思路 先考虑树的情况。 容易想到 DP&am…

[COCI2021-2022#1] Logičari

题目描述 给定一个 n n n 个点的基环树&#xff0c;现在对基环树上的点染色&#xff0c;使得每个点都有且仅有一个与他相连的点&#xff08;不包括它自身&#xff09;被染色&#xff0c;求最少的染色点数&#xff0c;或者返回无解。 n n n 个点&#xff0c; n n n条边的连通无…

【C++】无重复数字全排列(三种方法)和有重复数字全排列

文章目录 一、无重复数字排列1.1 题目描述1.2 用dfs方法1.2.1 思路分析1.2.2 代码编写 1.3 用交换法1.4 STL秒解1.4.1 所用函数1.4.2 代码编写 二、有重复数字排列2.1 思路分析2.2 代码编写 一、无重复数字排列 1.1 题目描述 把 1 ∼ n 1∼n 1∼n 这 n n n 个整数排成一行后…

【蓝桥每日一题]-二分类型(保姆级教程 篇2) #砍树 #木材加工

今天讲二分的例题&#xff0c;一道是“砍树”&#xff0c;一道是“木材加工” 目录 题目&#xff1a;砍树 思路1&#xff1a; 思路2&#xff1a; 题目&#xff1a;木材加工 思路&#xff1a; 题目&#xff1a;砍树 思路1&#xff1a; 二分查找&#xff1a;对高度进行二分 二…

桥和割点,以及图的遍历树

目录 什么是桥 寻找桥的算法 代码实现 什么是割点 ​寻找割点的算法 代码实现 什么是桥 寻找桥的算法 代码实现 import java.util.ArrayList;public class FindBridges {private Graph G;private boolean[] visited;private int ord[];private int low[];private int cnt…

P7929 [COCI2021-2022#1] Logičari

P7929 [COCI2021-2022#1] Logičari [P7929 COCI2021-2022#1] Logičari - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 文章目录 P7929 [COCI2021-2022#1] Logičari题目大意思路code 题目大意 给定一棵 n n n 个节点的基环树&#xff0c;现在对树上的节点染色&#xff0c…

蓝桥杯官网填空题(猜字母)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 把 abcd...s 共19个字母组成的序列重复拼接 106 次&#xff0c;得到长度为 2014 的串。 接下来删除第 1 个字母&#xff08;即开头的字母 a&#xff09;&#…

C++深度优先搜索的应用:在树上执行操作以后得到的最大分数

涉及知识点 深度优先搜索(DFS) 题目 有一棵 n 个节点的无向树&#xff0c;节点编号为 0 到 n - 1 &#xff0c;根节点编号为 0 。给你一个长度为 n - 1 的二维整数数组 edges 表示这棵树&#xff0c;其中 edges[i] [ai, bi] 表示树中节点 ai 和 bi 有一条边。 同时给你一个…

深度优先遍历与连通分量

深度优先遍历(Depth First Search)的主要思想是首先以一个未被访问过的顶点作为起始顶点&#xff0c;沿当前顶点的边走到未访问过的顶点。当没有未访问过的顶点时&#xff0c;则回到上一个顶点&#xff0c;继续试探别的顶点&#xff0c;直至所有的顶点都被访问过。 下图示例的…

Leetcode—515.在每个树行中找最大值【中等】

2023每日刷题&#xff08;二十三&#xff09; Leetcode—515.在每个树行中找最大值 DFS实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ /*** Note: The returned arra…

acwing算法基础之搜索与图论--树与图的遍历

目录 1 基础知识2 模板3 工程化 1 基础知识 树和图的存储&#xff1a;邻接矩阵、邻接表。 树和图的遍历&#xff1a;dfs、bfs。 2 模板 树是一种特殊的图&#xff08;即&#xff0c;无环连通图&#xff09;&#xff0c;与图的存储方式相同。 对于无向图中的边ab&#xff0c;…

Leetcode刷题详解—— 找出所有子集的异或总和再求和

1. 题目链接&#xff1a;1863. 找出所有子集的异或总和再求和 2. 题目描述&#xff1a; 一个数组的 异或总和 定义为数组中所有元素按位 XOR 的结果&#xff1b;如果数组为 空 &#xff0c;则异或总和为 0 。 例如&#xff0c;数组 [2,5,6] 的 异或总和 为 2 XOR 5 XOR 6 1 。…

图论17-有向图的强联通分量-Kosaraju算法

文章目录 1 概念2 Kosaraju算法2.1 在图类中设计反图2.2 强连通分量的判断和普通联通分量的区别2.3 代码实现 1 概念 2 Kosaraju算法 对原图的反图进行DFS的后序遍历。 2.1 在图类中设计反图 // 重写图的构造函数public Graph(TreeSet<Integer>[] adj, boolean dire…

78.子集--77.组合

78&#xff0c;子集 递归 class Solution(object):def subsets(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""# 结果ans[]# 临时结果dp_[]def dfs(nums,index):if indexlen(nums):# 保存结果co_dpdp_[:]ans.append(co_dp)r…

最长连续序列[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给定一个未排序的整数数组nums&#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。 示例 1&#xff1a; 输入&#xff1a;nums […

使用 DFS 轻松求解数独难题(C++ 的一个简单实现)

起因 都说懒惰是第一生产力&#xff0c;最近在玩数独游戏的时候&#xff0c;总会遇到拆解数独比较复杂的情况&#xff0c;就想着自己写个代码解题&#xff0c;解放双手。所以很快就写了一个简单的代码求解经典数独。拿来跑了几个最高难度的数独发现确实很爽&#xff01;虽说是…

AC修炼计划(AtCoder Beginner Contest 328)

传送门&#xff1a; Toyota Programming Contest 2023#7&#xff08;AtCoder Beginner Contest 328&#xff09; - AtCoder 本章对于自己的提升&#xff1a;dfs的运用&#xff0c;带权并查集&#xff0c;以及状压dp。 A&#xff0c;B&#xff0c;C题比较简单&#xff0c;直接…

【递归】汉诺塔问题(Java版)

目录 1.题目解析 2.讲解算法原理 2.1.如何来解决汉诺塔问题&#xff1f; 2.2.为什么这道题可以用递归来做&#xff1f; 2.2.1 什么是递归 2.2.2 为什么会用到递归 3.如何编写递归代码&#xff1f; 4.递归的细节展开图 1.题目解析 汉诺塔问题链接 在经典汉诺塔问题中&a…

代码随想录——图论一刷day04

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣127. 单词接龙二、力扣841.钥匙和房间三、力扣463. 岛屿的周长 前言 一、力扣127. 单词接龙 class Solution {public int ladderLength(String beginW…

LeetCode 1361. 验证二叉树【二叉树,DFS或BFS或并查集】1464

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

Meta Hacker Cup 2023 Round 1 题解

Problem A: Here Comes Santa Claus 给一个数列&#xff0c;要求分成若干组&#xff0c;要求每组至少2个数&#xff0c;使得所有组中位数的最大值与最小值之差尽量大&#xff0c;求这个值。 #include<bits/stdc.h> using namespace std; #define For(i,n) for(int i1;…

树的重心学习

知识&#xff1a; 定义&#xff1a;重心是指树中的一个结点&#xff0c;如果将这个点删除后&#xff0c;剩余各个连通块中点数的最大值最小&#xff0c;那么这个节点被称为树的重心。 &#xff08;最大值的最小值&#xff09; 树的重心的性质&#xff1a; 1.一个树最多只有1个或…

【算法题】统计无向图中无法互相到达点对数

题目&#xff1a; 给你一个整数 n &#xff0c;表示一张 无向图 中有 n 个节点&#xff0c;编号为 0 到 n - 1 。同时给你一个二维整数数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示节点 ai 和 bi 之间有一条 无向 边。 请你返回 无法互相到达 的不同 点对数目 。 示…

LeetCode_并查集_DFS_中等_2316.统计无向图中无法互相到达点对数

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 给你一个整数 n &#xff0c;表示一张 无向图 中有 n 个节点&#xff0c;编号为 0 到 n - 1 。同时给你一个二维整数数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示节点 ai 和 bi 之间有一条无向边。请…

图论02-【无权无向】-图的深度优先遍历

文章目录 1. 代码仓库2. 深度优先遍历图解3. 主要代码3.1 dfs递归的主要代码 - 先序遍历和后序遍历3.2 dfs非递归的主要代码 - 使用栈3.3 递归与非递归遍历出来的顺序不一致3.4 标记不同的联通分量 4. 完整代码4.1 CC.java4.2 Graph.java 1. 代码仓库 https://github.com/Chufe…

图论03-【无权无向】-图的深度优先遍历-路径问题/检测环/二分图

文章目录 1. 代码仓库2. 单源路径2.1 思路2.2 主要代码 3. 所有点对路径3.1 思路3.2 主要代码 4. 路径问题的优化-提前结束递归4.1 思路4.2 主要代码 5. 检测环5.1 思路5.2 主要代码 5. 二分图5.1 思路5.2 主要代码5.2.1 遍历每个联通分量5.2.2 递归判断相邻两点的颜色是否一致…

图论05-【无权无向】-图的广度优先遍历-路径问题/检测环/二分图/最短路径问题

文章目录 1. 代码仓库2. 单源路径2.1 思路2.2 主要代码 3. 所有点对路径3.1 思路3.2 主要代码 4. 联通分量5. 环检测5.1 思路5.2 主要代码 6. 二分图检测6.1 思路6.2 主要代码6.2.1 遍历每个联通分量6.2.2 判断相邻两点的颜色是否一致 7. 最短路径问题7.1 思路7.2 代码 1. 代码…

LeetCode讲解篇之113. 路径总和 II

文章目录 题目描述题解思路题解代码 题目描述 题解思路 深度优先遍历二叉树&#xff0c;遍历的同时记录路径&#xff0c;直到遍历到叶节点&#xff0c;若路径和为targetSum则添加到结果集中 题解代码 func pathSum(root *TreeNode, targetSum int) [][]int {var res make([…

剑指Offer || 054.把二叉搜索树转换为累加树

题目 给定一个二叉搜索树&#xff0c;请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。 提醒一下&#xff0c;二叉搜索树满足下列约束条件&#xff1a; 节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点键的节点。左右子树也…

C语言实现DFS和BFS

DFS&#xff08;深度优先搜索&#xff09;和BFS&#xff08;广度优先搜索&#xff09;是图论中常用的两种搜索方式。下面将介绍如何使用C语言实现DFS和BFS算法。 深度优先搜索&#xff08;DFS&#xff09; DFS算法是一种用于遍历或搜索树或图的算法。 该算法从根结点开始&…

牛客小白月赛80 D一种因子游戏

D一种因子游戏 思路&#xff1a;我们考虑&#xff0c;对于A数组中的每个数&#xff0c;我们考虑B数组中是否存在某个对应的数字能和其匹配&#xff0c;即 g c d gcd gcd等于1。由此想到二分图最大匹配&#xff0c;算出最大匹配数然后判断即可。 #include<bits/stdc.h>u…

【Leetcode每日一题】「动态规划」1155.掷骰子等于目标和的方法数

文章目录 思路代码如下&#xff1a;题目如下&#xff1a; 思路 首先一一眼看就是一个动态规划问题&#xff1b;那就用dp做 有哪些变量呢&#xff0c;有&#xff1a;掷骰子的数目&#xff0c;达到target的种数&#xff0c;掷骰子的和&#xff0c;和每次掷骰子的数目。 1.确定dp…

37回溯算法-理论基础

目录 什么是回溯算法 基本思想 问题场景 回溯算法的理解 回溯算法模板 LeetCode之路——257. 二叉树的所有路径 分析 什么是回溯算法 回溯算法是一种解决组合优化问题、搜索问题以及决策问题的算法。它通常用于尝试在一组可能的解决方案中搜索并找到满足特定条件的解。…

C++深度优先(DFS)算法的应用:收集所有金币可获得的最大积分

涉及知识点 深度优化(DFS) 记忆化 题目 节点 0 处现有一棵由 n 个节点组成的无向树&#xff0c;节点编号从 0 到 n - 1 。给你一个长度为 n - 1 的二维 整数 数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示在树上的节点 ai 和 bi 之间存在一条边。另给你一个下标从 0…

图的导航-最短路径算法-深度优先遍历

介绍 最短路径&#xff1a;从起点开始访问所有的路径&#xff0c;到达终点的路径有多条&#xff0c;其中路径的权值最短的一条则为最短路径。 最短路径算法有深度优先遍历、广度优先遍历、Bellman-Ford算法、弗洛伊德算法、SPFA算法、迪杰斯特拉算法等。 而本篇讲的是利用深…

【数据结构】——图简答题模板

目录 前言一、图的定义二、连通图及强连通图&#xff08;一&#xff09;连通图的定义&#xff08;二&#xff09;连通分量和强连通分量&#xff08;三&#xff09;连通图的边的个数 三、图的遍历&#xff08;一&#xff09;图的深度优先遍历思想&#xff08;二&#xff09;图的…

大话前端: JavaScript中的广度优先和深度优先搜索

JavaScript不仅是构建动态网站的基石&#xff0c;它还拥有强大的算法实现能力&#xff0c;尤其是在处理数据结构如图和树时。在本文中&#xff0c;我们将深入探讨两种基本的图搜索算法&#xff1a;广度优先搜索&#xff08;BFS&#xff09;和深度优先搜索&#xff08;DFS&#…

LeetCode:967连续查相同的数字(DFS)

题目 返回所有长度为 n 且满足其每两个连续位上的数字之间的差的绝对值为 k 的 非负整数 。 请注意&#xff0c;除了 数字 0 本身之外&#xff0c;答案中的每个数字都 不能 有前导零。例如&#xff0c;01 有一个前导零&#xff0c;所以是无效的&#xff1b;但 0 是有效的。 …

neuq-acm预备队训练week 9 P1330 封锁阳光大学

题目描述 曹是一只爱刷街的老曹&#xff0c;暑假期间&#xff0c;他每天都欢快地在阳光大学的校园里刷街。河蟹看到欢快的曹&#xff0c;感到不爽。河蟹决定封锁阳光大学&#xff0c;不让曹刷街。 阳光大学的校园是一张由 n 个点构成的无向图&#xff0c;n 个点之间由 m 条道…

力扣200. 岛屿数量(java DFS解法)

Problem: 200. 岛屿数量 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 该问题可以归纳为一类遍历二维矩阵的题目&#xff0c;此类中的一部分题目可以利用DFS来解决&#xff0c;具体到本题目&#xff1a; 1.我们首先要针对于二维数组上的每一个点&#xff0c;尝试展…

【递归 回溯】LeetCode-46. 全排列

46. 全排列。 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#xff1a; 输入&am…

力扣79. 单词搜索(java DFS解法)

Problem: 79. 单词搜索 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 该问题可以归纳为一类遍历二维矩阵的题目&#xff0c;此类中的一部分题目可以利用DFS来解决&#xff0c;具体到本题目&#xff08;该题目可以的写法大体不变可参看前面几个题目&#xff1a;&…

Leetcode—77.组合【中等】

2023每日刷题&#xff08;六十五&#xff09; Leetcode—77.组合 算法思想 实现代码 class Solution { public:vector<vector<int>> combine(int n, int k) {vector<vector<int>> ans;vector<int> path;function<void(int)> dfs [&…

51 回溯算法求解子集

问题描述:给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集。说明&#xff1a;解集不允许存在重复的子集&#xff1b; 回溯算法求解&#xff1a;最多进行nums.length次深度的回溯&#xff0c;每一次向下走都都记录一种结果&#xff0c;随着index一直向下走&#…

【数据结构】图的创建(邻接矩阵,邻接表)以及深度广度遍历(BFS,DFS)

文章目录 前言1.图的存储结构1.邻接矩阵2.邻接表 一、邻接矩阵二、邻接表二、图的遍历1.DFS2.BFS 前言 图是由顶点集合及顶点间的关系组成的一种数据结构&#xff1a;G (V&#xff0c; E)&#xff0c;其中&#xff1a; 顶点集合V {x|x属于某个数据对象集}是有穷非空集合&…

54 回溯算法求解全排列问题

问题描述&#xff1a;给定一个没有重复数字的序列nums&#xff0c;返回其所有可能的全排列。 回溯算法求解&#xff1a;最多进行nums.length次深度的dfs递归&#xff0c;每一次都从剩下未选择序列里面选取一个进行递归&#xff0c;使用used数组进行保存当前是否选取&#xff1…

图Graph的存储、图的广度优先搜索和深度优先搜索(待更新)

目录 一、图的两种存储方式 1.邻接矩阵 2.邻接表 生活中处处有图Graph的影子&#xff0c;例如交通图&#xff0c;地图&#xff0c;电路图等&#xff0c;形象的表示点与点之间的联系。 首先简单介绍一下图的概念和类型&#xff1a; 图的的定义&#xff1a;图是由一组顶点和一…

P8599 [蓝桥杯 2013 省 B] 带分数(dfs+全排列+断点判断)

思路&#xff1a;1.深度枚举所有排列情况 2.设置为每个排列设置两个断点&#xff0c;分为三部分&#xff1a;a,b,c 3.转换为乘法判断条件&#xff0c;满足加一 代码如下&#xff1a;&#xff08;可用next_permutation全排列函数代替dfs&#xff09; #include<iostream>…

【数据结构】A : A DS图_传递信息

A : A DS图_传递信息 Description 小明在和他的小伙伴们玩传消息游戏&#xff0c;游戏规则如下&#xff1a; 有n名玩家&#xff0c;所有玩家编号分别为0~n-1&#xff0c;其中小明编号为0&#xff1b;每个玩家都有固定的若干个可传信息的其他玩家(也可能没有)。传消息的关系是…

DFS序和欧拉序的降维打击

1. DFS 序和时间戳 1.1 DFS 序 定义&#xff1a;树的每一个节点在深度优先遍历中进、出栈的时间序列。 如下树的 dfs 序就是[1,2,8,8,5,5,2,4,3,9,9,3,6,6,4,7,7,1]。 下图为生成DFS的过程。对于一棵树进行DFS序&#xff0c;除了进入当前节点时对此节点进行记录&#xff0c;…

DFS有关的一些问题

最近下定决心了&#xff0c;开始转c&#xff0c;之前一直用Java写算法题 P1036 [NOIP2002 普及组] 选数 本题就是从n个数字中选出r个数字&#xff0c;这个是经典的回溯&#xff0c;并且还需要选出来的这个数字是素数&#xff0c;这个应该如何判断呢&#xff1f; #include<…

电子学会C/C++编程等级考试2022年09月(三级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:课程冲突 小 A 修了 n 门课程, 第 i 门课程是从第 ai 天一直上到第 bi 天。 定义两门课程的冲突程度为 : 有几天是这两门课程都要上的。 例如 a1=1,b1=3,a2=2,b2=4 时, 这两门课的冲突程度为 2。 现在你需要求的是这 n 门课…

回溯和分支算法

状态空间图 “图”——状态空间图 例子&#xff1a;农夫过河问题——“图”状态操作例子&#xff1a;n后问题、0-1背包问题、货郎问题(TSP) 用向量表示解&#xff0c;“图”由解向量扩张得到的解空间树。 ——三种图&#xff1a;n叉树、子集树、排序树 ​ 剪枝 不满住条件的…

深度优先搜索LeetCode979. 在二叉树中分配硬币

给你一个有 n 个结点的二叉树的根结点 root &#xff0c;其中树中每个结点 node 都对应有 node.val 枚硬币。整棵树上一共有 n 枚硬币。 在一次移动中&#xff0c;我们可以选择两个相邻的结点&#xff0c;然后将一枚硬币从其中一个结点移动到另一个结点。移动可以是从父结点到…

每日一题 1466. 重新规划路线(树,DFS)

根据 connections 建立无向树从 0 开始深搜&#xff0c;每次调用 dfs 时判断路径方向是否正确 class Solution:def minReorder(self, n: int, connections: List[List[int]]) -> int:to defaultdict(set)edge defaultdict(list)for con in connections:edge[con[0]].appe…

【算法每日一练]-结构优化(保姆级教程 篇4 树状数组,线段树,分块模板篇)

除了基础的前缀和&#xff0c;后面还有树状数组&#xff0c;线段树&#xff0c;分块的结构优化。 目录 分块 分块算法步骤&#xff1a; 树状数组 树状数组步骤&#xff1a; 线段树点更新 点更新步骤&#xff1a; 线段树区间更新 区间更新步骤&#xff1a; 分块 分块算…

1380 一笔画问题

如果一个无向图存在一笔画&#xff0c;则一笔画的路径叫做欧拉路&#xff0c;如果最后又回到起点&#xff0c;那这个路径叫做欧拉回路。 #include<bits/stdc.h> using namespace std; #define N 510 int g[N][N],d[N],c[N],n,m,reckon,oddity_point,lt; void dfs(int i)…

Leetcode 1466. 重新规划路线(两种思路:正难则反 DFS + 无向图转有向图 / DFS 无向建图 + 设定权值 + 反向遍历)

Leetcode 1466. 重新规划路线&#xff08;两种思路&#xff1a;正难则反 DFS 无向图转有向图 / DFS 无向建图 设定权值 反向遍历&#xff09;题目解法一&#xff1a; 正难则反 DFS 无向图转有向图&#xff1a;第 1 步&#xff1a;先建立一个无向图 G0第 2 步&#xff1a;从…

【数据结构第 6 章 ④】- 用 C 语言实现图的深度优先搜索遍历和广度优先搜索遍历

目录 一、深度优先搜索 1.1 - 深度优先搜索遍历的过程 1.2 - 深度优先搜索遍历的算法实现 二、广度优先搜索 2.1 - 广度优先搜索遍历的过程 2.2 - 广度优先搜索遍历的算法实现 和树的遍历类似&#xff0c;图的遍历也是从图中某一顶点出发&#xff0c;按照某种方法对图中所…

leetcode每日一题44

130. 被围绕的区域 图论 dfs/bfs dfs代码框架 void dfs(参数) {if (终止条件) {存放结果;return;}for (选择&#xff1a;本节点所连接的其他节点) {处理节点;dfs(图&#xff0c;选择的节点); // 递归回溯&#xff0c;撤销处理结果} }思路&#xff1a;本题要求找到被x围绕的陆…

leetcode 17 电话号码字母组合

题目 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits “23” 输出&#xf…

二叉树的深度遍历

目录 深度优先遍历&#xff1a; 二叉树节点定义&#xff1a; 递归法&#xff1a; 前序 中序 后序 迭代法&#xff1a; 前序 中序 后序 迭代法&#xff08;统一写法&#xff09; 前序 中序 后序 广度优先遍历&#xff1a; 二叉树的遍历方法包括两种&#xff1a…

DFS算法详解 ---- 走迷宫

上期内容给大家带来了排列型dfs&#xff0c;这期给大家带来了使用dfs来进行图的遍历。 首先请看题&#xff1a; 咱们在看这道题的时候 &#xff0c;需要首先研究迷宫如何存&#xff0c;肯定是要定义一个浮点型的二维数组对吧&#xff0c;那么这里我给他定义一个char board[N]…

2024/1/18 DFS BFS

目录 奇怪的电梯 马的遍历 PERKET&#xff08;个人认为很抽象&#xff09; 奇怪的电梯 P1135 奇怪的电梯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff0c;还是用的bfs&#xff0c;建立一个结构体类型的队列&#xff0c;一个存当前的电梯层数&#xff0c;一…

1818:红与黑【解析】-------深度优先搜索

1818:红与黑 描述 有一间长方形的房子&#xff0c;地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上&#xff0c;只能向相邻的黑色瓷砖移动。请写一个程序&#xff0c;计算你总共能够到达多少块黑色的瓷砖。 输入 包括多个数据集合。每个数据集合的第一行…

【图论】树的直径

树的直径即为一棵树中距离最远的两点之间的路径 方法一&#xff1a;DFS 先以任意一点为起点跑一遍dfs&#xff0c;记录离起点距离最远的点p&#xff08;这个点一定是直径的一个端点&#xff0c;感性理解一下不证明了&#xff09;&#xff0c;然后再以最远点再跑一遍dfs&#…

269.【华为OD机试真题】解密犯罪时间(深度优先搜索(DFS)-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…

LeetCode 0589.N 叉树的前序遍历:深度优先搜索(DFS)

【LetMeFly】589.N 叉树的前序遍历&#xff1a;深度优先搜索(DFS) 力扣题目链接&#xff1a;https://leetcode.cn/problems/n-ary-tree-preorder-traversal/ 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表…

⭐北邮复试刷题LCR 052. 递增顺序搜索树__DFS (力扣119经典题变种挑战)

LCR 052. 递增顺序搜索树 给你一棵二叉搜索树&#xff0c;请 按中序遍历 将其重新排列为一棵递增顺序搜索树&#xff0c;使树中最左边的节点成为树的根节点&#xff0c;并且每个节点没有左子节点&#xff0c;只有一个右子节点。 示例 1&#xff1a; 输入&#xff1a;root [5,…

人工智能原理实验2(2)——罗马尼亚问题(贪婪搜索、A*搜索、BFS、DFS)

&#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1; 根据上图以Zerind为初始状态&#xff0c;Bucharest为目标状态实现搜索&#xff0c;分别以贪婪搜索&#xff08;只考虑直线距离&#xff09;和A算法求解最短路径。 按顺序列出贪婪算法探索的扩展节点和其估价函数…

探索无尽可能性:C++深度优先搜索算法解析

导语&#xff1a; 深度优先搜索&#xff08;DFS&#xff09;是图和树等数据结构中常用的算法之一&#xff0c;它以深入优先的方式遍历所有可能的路径&#xff0c;寻找问题的解或者满足某种条件的解。本文将介绍C中实现深度优先搜索算法的基本原理和示例&#xff0c;帮助读者理解…

力扣hot100 岛屿数量 dfs 图论

Problem: 200. 岛屿数量 文章目录 思路复杂度Code 思路 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution {int n, m;public int numIslands(char[][] grid){n grid.length;if (n 0)return 0;m grid[0].length;int ans 0;…

CF1029E Tree with Small Distances 题解

题意简述 给定一颗有根树&#xff08;根节点为 1 1 1&#xff09;。要求往树中加入一些边使得从根节点到其他节点的距离至多是 2 2 2。求加入边的最小数量。(边全部都是无向的) 解题思路 还是采用贪心的思路。 对于一个到根节点的距离大于 2 2 2 的叶子节点&#xff0c;…

蓝桥杯官网填空题(平方拆分)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 将 2019 拆分为若干个两两不同的完全平方数之和&#xff0c;一共有多少种不同的方法&#xff1f; 注意交换顺序视为同一种方法&#xff0c;例如 13^225^235^22019…

力扣每日一题day36[112.路径总和]

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 叶子节点 是指没有子节点…

《剑指offer》Java版--12.矩阵中的路径(DFS+剪枝)

剑指offer原题:矩阵中的路径 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始&#xff0c;每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格&#xff0c;那么该路径不能再…

树与图的深度优先遍历、广度优先遍历算法总结

知识概览 树是特殊的图&#xff0c;是无环连通图图分为有向图和无向图。因为无向图可以转化为有向图&#xff0c;树可以转化为图。因此本文讨论有向图。 树和图的存储&#xff1a; 邻接矩阵&#xff1a;空间复杂度&#xff0c;适合存储稠密图。邻接表&#xff1a;存储每个点可以…

二叉树进阶题目(超详解)

文章目录 前言根据二叉树创建字符串题目分析写代码 二叉树的层序遍历题目分析 写代码二叉树的层序遍历II题目分析写代码 二叉树的最近公共祖先题目分析写代码时间复杂度 优化思路优化的代码 二叉搜索树与双向链表题目分析写代码 从前序与中序遍历序列构造二叉树题目分析写代码从…

【经典LeetCode算法题目专栏分类】【第11期】递归问题:字母大小写全排列、括号生成

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推荐--…

动态规划、DFS 和回溯算法:二叉树问题的三种视角

动态规划、DFS 和回溯算法&#xff1a;二叉树问题的三种视角 在计算机科学中&#xff0c;算法是解决问题的核心。特别是对于复杂的问题&#xff0c;不同的算法可以提供不同的解决方案。在本篇博客中&#xff0c;我们将探讨三种算法&#xff1a;动态规划、深度优先搜索&#xf…

图论第三天|127. 单词接龙 841.钥匙和房间 463. 岛屿的周长 1971. 寻找图中是否存在路径 684.冗余连接 685.冗余连接II

目录 Leetcode127. 单词接龙Leetcode841.钥匙和房间Leetcode463. 岛屿的周长Leetcode1971. 寻找图中是否存在路径Leetcode684.冗余连接Leetcode685.冗余连接II Leetcode127. 单词接龙 文章链接&#xff1a;代码随想录 题目链接&#xff1a;127. 单词接龙 思路&#xff1a;广搜搜…

【图论】【状态压缩】【树】【深度优先搜索】1617. 统计子树中城市之间最大距离

作者推荐 【动态规划】【字符串】【行程码】1531. 压缩字符串 本文涉及的知识点 图论 深度优先搜索 状态压缩 树 LeetCode1617. 统计子树中城市之间最大距离 给你 n 个城市&#xff0c;编号为从 1 到 n 。同时给你一个大小为 n-1 的数组 edges &#xff0c;其中 edges[i] …

备战蓝桥杯---搜索(DFS基础1)

何为深搜&#xff1f; 即不撞南墙不罢休。 话不多说&#xff0c;直接看题&#xff1a; 我们可以把这看成深搜的模板题&#xff0c;下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int a[15];//存值并输出 int vis[15]; int n18; void dfs(int …

电子学会C/C++编程等级考试2022年06月(七级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:有多少种二叉树 输入n(1<n<13),求n个结点的二叉树有多少种形态 时间限制:1000 内存限制:65536输入 整数n输出 答案 样例输入 3样例输出 5 答案: //参考答案 #include<bits/stdc++.h> using namespace std; …

【重点】【DFS】543.二叉树的直径

题目 法1&#xff1a;DFS两遍 不太好的方法 class Solution {public int diameterOfBinaryTree(TreeNode root) {if (root null) {return 0;}int left diameterOfBinaryTree(root.left);int right diameterOfBinaryTree(root.right);int cur oneSideDepth(root.left) o…

电子学会C/C++编程等级考试2022年09月(八级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:道路 N个以 1 … N 标号的城市通过单向的道路相连:。每条道路包含两个参数:道路的长度和需要为该路付的通行费(以金币的数目来表示) Bob and Alice 过去住在城市 1.在注意到Alice在他们过去喜欢玩的纸牌游戏中作弊后,Bob和她…

79 DFS和BFS解求根到叶子节点数字之和

问题描述&#xff1a;给定一个二叉树&#xff0c;他的每个节点凑存放一个0-9的数字&#xff0c;每条从根到叶子节点的路径都代表一个数字&#xff0c;例如&#xff0c;从根到叶子节点路径1->2->3代表数字123&#xff0c;计算从根到叶子结点生成的所有数字之和。 DFS求解…

【算法专题】递归算法

递归 递归1. 汉诺塔问题2. 合并两个有序链表3. 反转链表4. 两两交换链表中的节点5. Pow(x, n) --- 快速幂 递归 在解决⼀个规模为 n 的问题时&#xff0c;如果满足以下条件&#xff0c;我们可以使用递归来解决&#xff1a; 问题可以被划分为规模更小的子问题&#xff0c;并且…

基础算法--搜索与图论(1)

文章目录 DFS和BFSDFS搜索应用n-皇后问题 树和图的存储DFS遍历BFS遍历应用拓扑排序 DFS和BFS DFS&#xff0c;深度优先搜索&#xff0c; 数据结构&#xff1a;stack空间&#xff1a;Oh不具有最短性 BFS&#xff0c;宽度优先搜索 queueO2^h具有最短性&#xff08;当图的所有边权…

191.【2023年华为OD机试真题(C卷)】亲子游戏(DFS和BFS—JavaPythonC++JS实现)

请到本专栏顶置查阅最新的华为OD机试宝典 点击跳转到本专栏-算法之翼:华为OD机试 🚀你的旅程将在这里启航!本专栏所有题目均包含优质解题思路,高质量解题代码,详细代码讲解,助你深入学习,深度掌握! 文章目录 【2023年华为OD机试真题(C卷)】亲子游戏(DFS和BFS—…

算法基础之区间分组

区间分组 核心思想&#xff1a;贪心 若所有组中右端点最大值都比当前遍历的区间的左端点大 则需要开新组 为了让组数最多 根据左端点排序 #include<iostream>#include<algorithm>#include<queue>using namespace std;const int N 100010;struct Range{i…

pycharm调整漂亮的颜色主题

主题样式&#xff1a; 一、设置主题为白色 二、pycharm 如何设置字体颜色 打开pycharm编辑器&#xff0c;file > settings > editor > color scheme > python > 你也可以直接用我资源中的配置好的文件

【面试高频算法解析】算法练习5 深度优先搜索

前言 本专栏旨在通过分类学习算法&#xff0c;使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目&#xff0c;帮助您深度理解每种算法&#xff0c;避免出现刷了很多算法题&#xff0c;还是一知半解的状态 专栏导航 二分查找回溯&#xff08;Backtracking&…

【算法每日一练]-图论(保姆级教程篇14 )#会议(模板题) #医院设置 #虫洞 #无序字母对 #旅行计划 #最优贸易

目录 今日知识点&#xff1a; 求数的重心先dfs出d[1]和cnt[i]&#xff0c;然后从1进行dp求解所有d[i] 两两点配对的建图方式&#xff0c;检查是否有环 无向图欧拉路径路径输出 topodp求以i为终点的游览城市数 建立分层图转化盈利问题成求最长路 会议&#xff08;模板题&a…

leetcode算法题之floodfill算法---深搜(dfs)

本章目录 1.图像渲染2.岛屿数量3.岛屿的最大面积4.被围绕的区域5.太平洋大西洋水流问题6.扫雷游戏7.机器人的运动范围 1.图像渲染 图像渲染 class Solution {int dx[4] {0,0,1,-1};int dy[4] {1,-1,0,0};int newColor,prev;int m,n; public:vector<vector<int>&g…

力扣hot100 路径总和Ⅲ dfs 前缀和 一题双解 超全注释

Problem: 437. 路径总和 III 思路 树的遍历 DFS 一个朴素的做法是搜索以每个节点为根的&#xff08;往下的&#xff09;所有路径&#xff0c;并对路径总和为 targetSumtargetSumtargetSum 的路径进行累加统计。 使用 dfs1 来搜索所有节点&#xff0c;复杂度为 O(n)O(n)O(n)&am…

算法回忆录——DFS与BFS

文章目录 1. 广度优先搜索2. 深度优先搜索 1. 广度优先搜索 拿迷宫&#xff08;二维&#xff0c;上下左右四个方向&#xff0c;入口在左方&#xff09;来举例&#xff0c;一开始从入口出发&#xff0c;一直往右走&#xff0c;如果遇到了路口&#xff0c;就记录下该路口有几条路…

力扣labuladong——一刷day91

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣208. 实现 Trie (前缀树)二、力扣648. 单词替换 前言 Trie 树又叫字典树、前缀树、单词查找树&#xff0c;是一种二叉树衍生出来的高级数据结构&#x…

【算法每日一练]-动态规划 (保姆级教程 篇16) #纸带 #围栏木桩 #四柱河内塔

目录 今日知识点&#xff1a; 计算最长子序列的方案个数&#xff0c;类似最短路径个数问题 四柱河内塔问题&#xff1a;dp[i]min{ (p[i-k]f[k])dp[i-k] } 纸带 围栏木桩 四柱河内塔 纸带 思路&#xff1a; 我们先设置dp[i]表示从i到n的方案数。 那么减法操作中&#xff…

【算法每日一练]-dfs (保姆级教程 篇9) #俄罗斯方块 #ABC Puzzle #lnc的工资

目录 今日知识点&#xff1a; 二维图形的状态压缩&#xff0c;存下所有的合法状态然后暴力遍历 dfs的优化剪枝 二项式定理 俄罗斯方块 ABC Puzzle lnc的工资 俄罗斯方块 322D 题意&#xff1a;在4*4方格中分别给出3个俄罗斯方块&#xff0c;问是否可以经过旋转&#xf…

子集型回溯和组合型回溯

目录 子集 1,选或不选 2.枚举选哪个 组合 1.选或不选 2.枚举选哪个 回溯问题有两种思考方式,一种是对于给定集合的每个元素,你是选还是不选,另一种是每个位置必须选一个数,你挑一个选就行了.但这种挑选一定是有序的挑 子集 子集 1,选或不选 class Solution { public:…

【数据结构】无向图创建邻接表以及深度遍历、广度遍历(C语言版)

数据结构——无向图创建邻接表以及深度遍历、广度遍历 一、邻接表概念二、邻接表实现 &#xff08;1&#xff09;准备前提——结构体定义&#xff08;2&#xff09;创建边链表&#xff08;3&#xff09;打印边链表&#xff08;4&#xff09;深度优先遍历&#xff08;5&#xff…

牛客周赛 Round 32(A,B,C,D,E,F)

比赛链接 官方视频讲解 这场D是用dfs跑图的一个树上dp&#xff0c;E是裸状压&#xff0c;F是状压DP&#xff0c;会状压的话其实难度不是特别大。B题出乎意料的卡了我一会&#xff0c;实际上如果推理出来一个小性质写起来就很简单了。 A 小红的 01 背包 思路&#xff1a; V的…

codeforces round 926 div2(A-D)

1.A a题 ∑ i 2 n ( a i − a i − 1 ) \sum_{i2}^{n}(a_{i}-a_{i-1}) ∑i2n​(ai​−ai−1​) a n − a 1 a_{n}-a_{1} an​−a1​所以我们排一下序输出 a n − a 1 a_{n}-a_{1} an​−a1​即可,当然直接累加也可以 #include<bits/stdc.h> using namespace std; #def…

【深度优先搜索】【图论】【树】2646. 最小化旅行的价格总和

作者推荐 【数位dp】【动态规划】【状态压缩】【推荐】1012. 至少有 1 位重复的数字 涉及知识点 深度优先搜索 图论 树 LeetCode2646. 最小化旅行的价格总和 现有一棵无向、无根的树&#xff0c;树中有 n 个节点&#xff0c;按从 0 到 n - 1 编号。给你一个整数 n 和一个长…

⭐北邮复试刷题589. N 叉树的前序遍历__DFS (力扣每日一题)

589. N 叉树的前序遍历 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示&#xff0c;每组子节点由空值 null 分隔&#xff08;请参见示例&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [1,null,…

游戏分组/王者荣耀

题目描述 部门准备举办一场王者荣耀表演赛&#xff0c;有 10 名游戏爱好者参与&#xff0c;分 5 为两队&#xff0c;每队 5 人。 每位参与者都有一个评分&#xff0c;代表着他的游戏水平。 为了表演赛尽可能精彩&#xff0c;我们需要把 10 名参赛者分为实力尽量相近的两队。一…

285.【华为OD机试真题】二叉树计算(DFS遍历—JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-二叉树计算二.解题思路三.题解代码Python题解代…

Leecode热题100中图论章节 200. 岛屿数量 994. 腐烂的橘子 207. 课程表 208. 实现 Trie (前缀树)

Leecode热题100中图论章节 200. 岛屿数量994. 腐烂的橘子207. 课程表解题思路 208. 实现 Trie (前缀树) 200. 岛屿数量 200. 岛屿数量 // 图论 dfs // leecode题解中nettee的岛屿问题系列通用解法 class Solution {public int numIslands(char[][] grid) {int res 0; // …

【算法分析与设计】岛的数量

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 题目 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。…

【深度优先搜索】【图论】【推荐】332. 重新安排行程

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 深度优先搜索 图论 LeetCode332. 重新安排行程 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&a…

LeetCode 2673.使二叉树所有路径值相等的最小代价:自顶向下的DFS 或 自底向上的递推

【LetMeFly】2673.使二叉树所有路径值相等的最小代价&#xff1a;自顶向下的DFS 或 自底向上的递推 力扣题目链接&#xff1a;https://leetcode.cn/problems/make-costs-of-paths-equal-in-a-binary-tree/ 给你一个整数 n 表示一棵 满二叉树 里面节点的数目&#xff0c;节点编…

LeetCode:2867. 统计树中的合法路径数目(筛质数+ DFS Java)

目录 2867. 统计树中的合法路径数目 题目描述&#xff1a; 实现代码与思路&#xff1a; 筛质数 DFS 原理思路&#xff1a; 2867. 统计树中的合法路径数目 题目描述&#xff1a; 给你一棵 n 个节点的无向树&#xff0c;节点编号为 1 到 n 。给你一个整数 n 和一个长度为 …

【刷题】 Leetcode 1022.从根到叶的二进制数之和

刷题 1022.从根到叶的二进制数之和题目描述&#xff1a;思路一&#xff08;dfs深搜万能版&#xff09;思路二 &#xff08;栈迭代巧解版&#xff09;总结 Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;&#xff01;&#xff01;下一篇文章见&#xff…

代码随想录| 深搜、797.所有可能的路径

回溯算法其实就是深搜&#xff0c;只不过这里的深搜是侧重于在图上搜索&#xff0c;回溯大多是在树上搜索。 797.所有可能的路径 完成 代码 模板题 class Solution {List<List<Integer>> res new ArrayList<>();List<Integer> path new ArrayList…

Codeforces Round 782 (Div. 2) E. AND-MEX Walk(思维+并查集)

原题链接&#xff1a;E. AND-MEX Walk 题目大意&#xff1a; 给出一张 n n n 个点 m m m 条边的无向图&#xff0c;边带有边权。 我们定义一条路径的价值为&#xff1a; 假设我们经过了 k k k 个点&#xff08;点和边都可重复经过&#xff09;&#xff0c;且按顺序经过的边…

【LeetCode:230. 二叉搜索树中第K小的元素 + 二叉树 + 递归】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

LeetCode 刷题 [C++] 第226题.翻转二叉树

题目描述 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 题目分析 深度优先搜索&#xff08;DFS&#xff09;- 递归方式 对于二叉树的镜像问题&#xff0c;很容易想到的就是使用递归来解决&#xff0c;自底向上依次翻转每一个节点…

2024年华为OD机试真题-文件缓存系统-Python-OD统一考试(C卷)

题目描述: 请设计一个文件缓存系统,该文件缓存系统可以指定缓存的最大值(单位为字节)。 文件缓存系统有两种操作:存储文件(put)和读取文件(get) 操作命令为put fileName fileSize或者get fileName 存储文件是把文件放入文件缓存系统中;读取文件是从文件缓存系统中访问已存…

LeetCode 每日一题 2024/2/26-2024/3/3

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 2/26 938. 二叉搜索树的范围和2/27 2867. 统计树中的合法路径数目2/28 2673. 使二叉树所有路径值相等的最小代价2/29 2581. 统计可能的树根数目3/1 2369. 检查数组是否存在…

acwing算法提高之搜索--DFS连通性模型和搜索顺序

目录 1 专题说明2 训练 1 专题说明 本专题用来记录使用DFS连通性模型或DFS搜索顺序求解的题目。 2 训练 题目1&#xff1a;1112迷宫 考点&#xff1a;dfs C代码如下&#xff0c; #include <iostream> #include <cstring>using namespace std;//宏定义 #defin…

深搜,LeetCode 2368. 受限条件下可到达节点的数目

一、题目 1、题目描述 现有一棵由 n 个节点组成的无向树&#xff0c;节点编号从 0 到 n - 1 &#xff0c;共有 n - 1 条边。 给你一个二维整数数组 edges &#xff0c;长度为 n - 1 &#xff0c;其中 edges[i] [ai, bi] 表示树中节点 ai 和 bi 之间存在一条边。另给你一个整数…

备战蓝桥杯---搜索(应用入门)

话不多说&#xff0c;直接看题&#xff1a; 显然&#xff0c;我们可以用BFS&#xff0c;其中&#xff0c;对于判重操作&#xff0c;我们可以把这矩阵化成字符串的形式再用map去存&#xff0c;用a数组去重现字符串&#xff08;相当于map映射的反向操作&#xff09;。移动空格先找…

【学习笔记】树上差分总结(点差分/边差分)

一.树上差分的基本概念 1.树上差分的定义 树上差分&#xff0c;顾名思义&#xff0c;意思就是在树上做差分。 至于什么是差分呢&#xff1f;如果不会的同学&#xff0c;可以先看看我的这篇博客:一维,二维差分の详解&#xff08;简单易懂&#xff09;_一维差分-CSDN博客 2.树…

详解洛谷P2912 [USACO08OCT] Pasture Walking G(牧场行走)(lca模板题)

题目 思路 一道模板题&#xff0c;没啥好说的&#xff0c;直接见代码 代码 #include <bits/stdc.h> using namespace std; int n,q,a,to[100001][22],b,deep[100001],c,t[1000001]; struct ff {int id,len; }; vector<ff> vec[100001]; void dfs(int x,int fa,i…

力扣hot100 二叉树的右视图 DFS BFS 层序遍历 递归

Problem: 199. 二叉树的右视图 文章目录 思路&#x1f496; BFS&#x1f496; DFS 思路 &#x1f469;‍&#x1f3eb; 甜姨 &#x1f496; BFS ⏰ 时间复杂度: O ( n ) O(n) O(n) &#x1f30e; 空间复杂度: O ( n ) O(n) O(n) class Solution {public List<Integer&…

力扣 第 125 场双周赛 解题报告 | 珂学家 | 树形DP + 组合数学

前言 整体评价 T4感觉有简单的方法&#xff0c;无奈树形DP一条路上走到黑了&#xff0c;这场还是有难度的。 T1. 超过阈值的最少操作数 I 思路: 模拟 class Solution {public int minOperations(int[] nums, int k) {return (int)Arrays.stream(nums).filter(x -> x <…

搜索算法(DFS和BFS 蓝桥杯 C++)

目录 题目一&#xff08;N皇后问题&#xff09;&#xff1a; 代码&#xff1a; 题目二&#xff08;路径之谜&#xff09;&#xff1a; 代码&#xff1a; 题目三&#xff08;最大数字&#xff09;&#xff1a; 代码&#xff1a; 题目四&#xff08;长草&#xff09;&#…

搜索回溯算法(DFS)1------递归

目录 简介&#xff1a; 递归问题解题的思路模板 例题1&#xff1a;汉诺塔 例题2&#xff1a;合并两个有序链表 例题3&#xff1a;反转链表 例题4&#xff1a;两两交换链表中的节点 例题5&#xff1a;Pow&#xff08;x,n&#xff09;-快速幂 结语&#xff1a; 简介&…

华为OD机试 - 数字排列 - 深度优先搜索dfs算法(Java 2024 C卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&a…

搜索与图论(一)(深搜,广搜,树与图的存储遍历,拓扑排序)

一、DFS 往深里搜&#xff0c;搜到叶子结点那里&#xff0c;回溯&#xff0c;到可以继续到叶子结点深搜的位置。 1、回溯一定要恢复现场 2、定义一个与当前递归层数有关的终止条件&#xff08;题目要求的东西&#xff09; 3、每层都用循环判断是否存在可以dfs的路 输出数字…

【寸铁的刷题笔记】树、回溯、图论、bfs、dfs(四)

【寸铁的刷题笔记】树、回溯、图论、bfs、dfs(四) 大家好 我是寸铁&#x1f44a; 金三银四&#xff0c;图论基础、回溯结合bfs、dfs是必考的知识点✨ 快跟着寸铁刷起来&#xff01;面试顺利上岸&#x1f44b; 喜欢的小伙伴可以点点关注 &#x1f49d; &#x1f31e;详见如下专栏…

算法DFS 复习

思路&#xff1a;for 代表的是每一位的纵向&#xff0c;数字变化&#xff0c;dfs 代表的是横向的&#xff0c;位置变化。vis 来做到每个枚举的数不重复&#xff0c;并且要在搜索前记录&#xff0c;搜索后还原。模拟该样例 dfs3 的时候是输出&#xff0c;dfs0&#xff0c;1&…

力扣515. 在每个树行中找最大值(BFS,DFS)

Problem: 515. 在每个树行中找最大值 文章目录 题目描述思路复杂度Code 题目描述 思路 思路1&#xff1a;BFS 套用BFS模板&#xff0c;直接在遍历树的某一层时将当前层的最大值存入数组中 思路2&#xff1a;DFS 回溯思想&#xff0c;在递归时不断更新可选列表&#xff08;根据…

Unity性能优化篇(八) 导入的模型网格优化设置

模型导入Unity后&#xff0c;可以选中这个模型&#xff0c;在Inspector窗口设置它的属性。下面说的都是可自定义选择优化的地方 Model选择卡: 1.在Model选项卡&#xff0c;启用Mesh Compression可以压缩模型&#xff0c;压缩程度越高&#xff0c;模型精度越低&#xff0c;但是…

蓝桥杯2023年-买瓜(dfs,类型转换同样耗时)

题目描述 小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个瓜&#xff0c;每个瓜的重量为 Ai 。 小蓝刀功了得&#xff0c;他可以把任何瓜劈成完全等重的两份&#xff0c;不过每个瓜只能劈一刀。 小蓝希望买到的瓜的重量的和恰好为 m 。 请问小蓝至少要劈多少个瓜才能买到重量恰好…

【算法刷题】Day30

1. 汉诺塔问题 原题链接 题干&#xff1a; 算法原理&#xff1a; 利用递归算法 将x柱子上的一堆盘子&#xff0c;借助 y柱子&#xff0c;转移到z 柱子上面 递归函数流程&#xff1a; 当前问题规模为 n1 时&#xff0c;直接将 A 中的最上面盘子挪到 C 中并返回递归将 A 中最…

添加路障-蓝桥杯-DFS

自己另辟蹊径想的新思路 果然好像还是不太行呀 import java.util.Scanner;public class Main {static int T;//样例组数static int n;//矩阵大小static int[] X {0,1,0,-1};static int[] Y {1,0,-1,0};static int[] X1 {1,0,-1,0};static int[] Y1 {0,-1,0,1};static int …

力扣--深度优先算法/回溯算法40.组合总和 Ⅱ

这题和组合总和Ⅰ的区别在于两点&#xff1a; 1.同一个数不能重复选&#xff1b; 2.数组中可能可以有重复的数这样会导致重复选。 例如[1,2,1],target为3时&#xff0c;[[1,2],[2,1]]&#xff0c;但是这样两个算是同一组和&#xff0c;而如果用set把重复的去了&#xff0c;又会…

蓝桥杯倒计时 36天-DFS练习

文章目录 飞机降落仙境诅咒小怂爱水洼串变换 飞机降落 思路&#xff1a;贪心暴搜。 #include<bits/stdc.h>using namespace std; const int N 10; int t,n; //这题 N 比较小&#xff0c;可以用暴力搜搜复杂度是 TN*N! struct plane{int t,d,l; }p[N]; bool vis[N];//用…

备战蓝桥杯---搜索(DFS基础2)

下面我主要介绍一下深搜的简单应用吧&#xff1a; 下面是分析&#xff1a; 我们对每行遍历一下&#xff0c;跟求排列差不多。在判断条件上&#xff0c;我们可以放一个存列的数组&#xff0c;对于对角线的判断&#xff0c;我们可以发现在主对角线上&#xff0c;列数-dep为恒定值…

蓝桥杯深度优先搜索|剪枝|N皇后问题|路径之谜(C++)

搜索&#xff1a;暴力法算法思想的具体实现 搜索&#xff1a;通用的方法&#xff0c;一个问题如果比较难&#xff0c;那么先尝试一下搜索&#xff0c;或许能启发出更好的算法 技巧&#xff1a;竞赛时遇到不会的难题&#xff0c;用搜索提交一下&#xff0c;说不定部分判题数据很…

算法day12

算法day12 二叉树理论基础114 二叉树的前序遍历145 二叉树的后序遍历94 二叉树的中序遍历迭代法 二叉树理论基础 直接看代码随想录就完事了&#xff0c;之前考研也学过&#xff0c;大概都能理解 我这里就说说代码层面的。 二叉树的存储&#xff1a; 1、链式存储&#xff1a;这…

备战蓝桥杯---搜索(完结篇)

再看一道不完全是搜索的题&#xff1a; 解法1&#xff1a;贪心并查集&#xff1a; 把冲突事件从大到小排&#xff0c;判断是否两个在同一集合&#xff0c;在的话就返回&#xff0c;不在的话就合并。 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace …

什么是ZWDFS ?

1. 什么是ZWDFS? ZWDFS是ZeroWait DFS的缩写 &#xff0c;它的用途在于可以自动扫描并切换到最佳信道&#xff0c;避开WIFI拥挤的信道以及带来环境的信号干扰。 2. Maxlinear WAV600 ZWDFS详细说明. 5 GHz Wi-Fi 频谱包括动态频率选择 (DFS) 和非 DFS 信道。监管领域要求 D…

【蓝桥杯】分糖果(DFS)

问题描述 两种糖果分别有 9个和 16 个&#xff0c;要全部分给 7 个小朋友&#xff0c;每个小朋友得到的糖果总数最少为 2个最多为 5 个&#xff0c;问有多少种不同的分法。糖果必须全部分完。 只要有其中一个小朋友在两种方案中分到的糖果不完全相同&#xff0c;这两种方案就…

搜索与图论——DFS

深度优先搜索&#xff08;DFS&#xff09; 深搜的过程&#xff1a;从根进入&#xff0c;向下走&#xff0c;走到底&#xff0c;向上走&#xff0c;即绕树兜圈&#xff0c;最后从根退出 深搜的实现&#xff1a;深搜是通过系统栈实现的&#xff0c;因为栈满足先进后出的性质&am…

代码随想录算法训练营(JAVA)| 第六章 二叉树part08

今日任务 力扣 236. 二叉树的最近公共祖先&#xff0c;235. 二叉搜索树的最近公共祖先&#xff0c;701. 二叉搜索树中的插入操作&#xff0c; 450. 删除二叉搜索树中的节点 题目 &#xff1a;236. 二叉树的最近公共祖先 思路 情况1&#xff1a; 如果找到一个节点&#xff0…

力扣每日一题 在受污染的二叉树中查找元素 哈希 DFS 二进制

Problem: 1261. 在受污染的二叉树中查找元素 思路 &#x1f468;‍&#x1f3eb; 灵神题解 &#x1f496; 二进制 时间复杂度&#xff1a;初始化为 O ( 1 ) O(1) O(1)&#xff1b;find 为 O ( m i n ( h , l o g 2 t a r g e t ) O(min(h,log_2target) O(min(h,log2​targ…

蓝桥杯2023年-砍树(dfs,树上差分)

题目描述 给定一棵由 n 个结点组成的树以及 m 个不重复的无序数对 (a1, b1), (a2, b2), . . . , (am, bm)&#xff0c;其中 ai 互不相同&#xff0c;bi 互不相同&#xff0c;ai ≠ bj(1 ≤ i, j ≤ m)。 小明想知道是否能够选择一条树上的边砍断&#xff0c;使得对于每个 (a…

递归的一些问题

题目1&#xff1a;正则问题 1225. 正则问题 - AcWing题库 首先要掌握两点正则运算的基础知识&#xff1a;①括号代表优先计算&#xff0c;②或符号代表二选一。 首先计算一下样例&#xff1a; 可以发现&#xff0c;我们的计算过程可以构成一棵树&#xff1a; 当我们碰到左括号…

leetcode刷题日志-108/1382将有序数组转换为二叉搜索树/将二叉搜索树变平衡

由于这两道题思路极其类似&#xff0c;在此统一记录&#xff1a; 108题.将有序数组转换为平衡二叉搜索树 思路&#xff1a;给定的数组已经升序排列&#xff0c;而二叉搜索树中序遍历的结果就是升序&#xff0c;但是仅凭中序遍历不能确定一颗二叉树&#xff0c;但是题目只是说…

C#,图论与图算法,输出无向图(Un-directed Graph)全部环(cycle)的算法与源代码

1 无向图(Un-directed Graph)全部环 图算法中需要求解全部的环。 2 方法 使用图着色方法,用唯一的数字标记不同循环的所有顶点。图形遍历完成后,将所有类似的标记数字推送到邻接列表,并相应地打印邻接列表。 3 算法 将边插入到邻接列表中。调用DFS函数,该函数使用着色方…

代码随想录算法训练营(JAVA)| 第七章 回溯算法part02

今日任务 力扣 216. 组合总和 III, 17. 电话号码的字母组合 题目 &#xff1a;216. 组合总和 III 思路 k决定了树的深度 判断dfs退出的条件&#xff1a;数组之和为 n 回溯三部曲 确定递归函数参数 这里我定义path 和 result为全局变量。 至于为什么取名为path&#xff1…

Leetcode 3.15

Leetcode hot100 二叉树1.二叉搜索树中第K小的元素2.二叉树展开为链表3.从前序与中序遍历序列构造二叉树 二叉树 1.二叉搜索树中第K小的元素 二叉搜索树中第K小的元素 最重要的知识点&#xff1a;二叉树搜索树的中序遍历是升序的。 方法一&#xff1a;我们只需存储升序遍历&…

关于使用中加 前/后简历二叉树

中加后 unordered_map<int, int> pos;TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {int n inorder.size();for (int i 0; i < n; i) {pos[inorder[i]] i; //记录中序遍历的根节点位置}return dfs(inorder, posto…

【DFS深度优先搜索专题】【蓝桥杯备考训练】:迷宫、奶牛选美、树的重心、大臣的旅费、扫雷【已更新完成】

目录 1、迷宫&#xff08;《信息学奥赛一本通》&#xff09; 2、奶牛选美&#xff08;USACO 2011 November Contest Bronze Division&#xff09; 3、树的重心&#xff08;模板&#xff09; 4、大臣的旅费&#xff08;第四届蓝桥杯省赛Java & C A组&#xff09; 5、扫…

每周一算法:双向深搜

题目描述 达达帮翰翰给女生送礼物&#xff0c;翰翰一共准备了 N N N 个礼物&#xff0c;其中第 i i i 个礼物的重量是 G [ i ] G[i] G[i]。 达达的力气很大&#xff0c;他一次可以搬动重量之和不超过 W W W的任意多个物品。 达达希望一次搬掉尽量重的一些物品&#xff0c;请…

全排列——dfs(剪枝/回溯)

如何实现一个长度为 n 的序列的全排列,且不重复&#xff1f; 我们可以假设我们有一个 n 的长度的空格&#xff0c;我们对每个位置进行选取序列中的值进行枚举&#xff0c;枚举到第 i 个空位时&#xff0c;前 i-1 个值被使用过的值标记成不可使用。枚举完一次后&#xff0c;向前…

2024蓝桥杯每日一题(DFS)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一&#xff1a;奶牛选美 试题二&#xff1a;树的重心 试题三&#xff1a;大臣的差旅费 试题四&#xff1a;扫雷 试题一&#xff1a;奶牛选美 【题目描述】 听说最近两斑点的奶牛最受欢迎&#xff0c;…

【回溯专题part1】【蓝桥杯备考训练】:n-皇后问题、木棒、飞机降落【已更新完成】

目录 1、n-皇后问题&#xff08;回溯模板&#xff09; 2、木棒&#xff08;《算法竞赛进阶指南》、UVA307&#xff09; 3、飞机降落&#xff08;第十四届蓝桥杯省赛C B组&#xff09; 1、n-皇后问题&#xff08;回溯模板&#xff09; n皇后问题是指将 n 个皇后放在 nn 的国…

图论:DFS与BFS

目录 1.DFS&#xff08;图论&#xff09; 1.1.DFS过程 1.2.应用 2.BFS&#xff08;图论&#xff09; 2.1.BFS过程 2.2.应用 2.3.双端队列BFS 实现 2.4.优先队列BFS&#xff08;堆优化 Dijkstra算法&#xff09; 1.DFS&#xff08;图论&#xff09; DFS全称是&#xff…

算法:一些DFS的经验

DFS:可以看作是向下遍历树的模拟 剪枝&#xff1a;减少时间复杂度 一个dfs所需要具备的元素&#xff1a; 一&#xff0c;出口 1.出口&#xff1a;每一个进入的dfs的出口&#xff0c;可以是枚举全部元素后退出该dfs,也可以是大于层数或剪枝条件........ 二&#xff0c;向下搜…

2024/03/19总结

算法&#xff1a; 简单的一个dfs就能过 ac: #include "iostream" #include "algorithm" #include "cstring" #include "queue" using std::cin; using std::cout; using std::endl; #define N 110 char a[N][N]; int abook[N][N]; i…

【LeetCode: 173. 二叉搜索树迭代器 + dfs + 二叉搜索树】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

LeetCode 热题100 图论专题解析

LeetCode 热题100 图论专题解析 图论是计算机科学中非常重要的领域&#xff0c;广泛应用于各种算法和实际问题中。在 LeetCode 热题100 中&#xff0c;图论相关的题目主要涉及深度优先搜索&#xff08;DFS&#xff09;、广度优先搜索&#xff08;BFS&#xff09;以及拓扑排序等…

C#,图论与图算法,有向图(Graph)之环(Cycle)判断的颜色算法与源代码

1 检查该图是否包含循环 给定一个有向图,检查该图是否包含循环。如果给定的图形至少包含一个循环,则函数应返回true,否则返回false。 方法:深度优先遍历可用于检测图中的循环。连接图的DFS生成树。只有当图中存在后缘时,图中才存在循环。后边是从节点到自身(自循环)或…

C#,图论与图算法,计算无向连通图中长度为n环的算法与源代码

1 无向连通图中长度为n环 给定一个无向连通图和一个数n,计算图中长度为n的环的总数。长度为n的循环仅表示该循环包含n个顶点和n条边。我们必须统计存在的所有这样的环。 为了解决这个问题,可以有效地使用DFS(深度优先搜索)。使用DFS,我们可以找到特定源(或起点)的长度…

蓝桥杯 2023 省B 飞机降落

首先&#xff0c;这题要求的数据量比较少&#xff0c;我们可以考虑考虑暴力解法。 这题可能难在很多情况的考虑&#xff0c;比如说&#xff1a; 现在时间是10&#xff0c;有个飞机20才到&#xff0c;我们是可以干等10分钟。 #include <iostream> #include <…

蓝桥杯C++大学B组一个月冲刺记录2024/3/20

蓝桥杯C大学B组一个月冲刺记录2024/3/20 昨日下午去参加算竞校赛了&#xff0c;记录一下我ac的题 昨天出去玩了&#xff0c;今天补个记录 战绩&#xff1a;827.5/1100 由于主办方为了艺术&#xff0c;题目都比较长&#xff0c;而且不好理解。复杂题干的题目我选择直接描述 1.人…

走迷宫---dfs在矩阵图里的应用模板

题目描述如下&#xff1a; dfs算法解决迷宫问题的一个标准模板 &#xff0c;通过递归与回溯暴力遍历所有能走的点&#xff0c;并比较找出所有可行方案的最优解 解决这道问题的核心思想和组合数如出一辙&#xff0c;可以说是组合数的升级版 结合注释看dfs更清晰易懂&#xff0…

代码随想录算法训练营(JAVA)| 第六章 二叉树 part05

今日任务 力扣 513. 找树左下角的值, 112. 路径总和, 113. 路径总和 II, 106. 从中序与后序遍历序列构造二叉树 题目 &#xff1a;513. 找树左下角的值 思路 递归&#xff0c;最大深度的 最左值就是答案 题解 class Solution {int Deep -1;int value 0;public int f…

【洛谷 P8625】[蓝桥杯 2015 省 B] 生命之树 题解(深度优先搜索+树形DP)

[蓝桥杯 2015 省 B] 生命之树 题目描述 在 X 森林里&#xff0c;上帝创建了生命之树。 他给每棵树的每个节点&#xff08;叶子也称为一个节点&#xff09;上&#xff0c;都标了一个整数&#xff0c;代表这个点的和谐值。 上帝要在这棵树内选出一个节点集合 S S S&#xff…

力扣--深度优先算法/回溯算法78.子集

思路分析&#xff1a; 首先&#xff0c;定义了一个类 Solution&#xff0c;其中包含一个成员变量 result 用于存储最终的所有子集。在类中定义了一个私有成员函数 dfs&#xff0c;用于执行深度优先搜索&#xff0c;生成所有可能的子集。主函数 subsets 初始化结果&#xff0c;…

332. 重新安排行程(力扣LeetCode)

文章目录 332. 重新安排行程题目描述思路如何理解死循环该记录映射关系 dfs&#xff08;回溯法&#xff09;代码 332. 重新安排行程 题目描述 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排…

C#,图论与图算法,有向图(Direct Graph)广度优先遍历(BFS,Breadth First Search)算法与源程序

1 图的广度优先遍历 图的广度优先遍历(或搜索)类似于树的广度优先遍历(参见本文的方法2)。这里唯一需要注意的是,与树不同,图可能包含循环,因此我们可能再次来到同一个节点。为了避免多次处理节点,我们使用布尔访问数组。为简单起见,假设所有顶点都可以从起始顶点到达…

度小满校招后端研发第2批编程题Java题解

1、坚强的小昆虫 由于新冠肺炎疫情的爆发&#xff0c;小明养在宿舍的小昆虫已经很久很久都没有人管了。小昆虫已经饿的不行了&#xff0c;必须出来找东西吃&#xff0c;可是出来之后需 要走出一个迷宫。小昆虫每次可以朝上、下、左、右四个方向之一走一步&#xff0c;且只要走…

蓝桥杯 2022 省B 李白打酒加强版

这题用递归暴力的方法如下&#xff1a; #include<iostream> #include<bits/stdc.h> using namespace std; int num; int N,M; void dfs(int now,int n,int m) {if(now<0 || n>N ||m>M)return ;if(nN && mM){if(now1)num1;return;}dfs(now-1,n,m1…

【剑指offer】24. 机器人的运动范围(java选手)

题目链接 题目链接 题目描述 地上有一个 m 行和 n列的方格&#xff0c;横纵坐标范围分别是 0∼m−1 和 0∼n−1。 一个机器人从坐标 (0,0) 的格子开始移动&#xff0c;每一次只能向左&#xff0c;右&#xff0c;上&#xff0c;下四个方向移动一格。 但是不能进入行坐标和列…

AcWing 1360. 有序分数(每日一题)

目录 题目&#xff1a; 枚举版&#xff1a; 递归版&#xff08;Stern-Brocot Tree&#xff09;&#xff1a; 总结&#xff1a; 原题链接&#xff1a;1360. 有序分数 - AcWing题库 题目&#xff1a; 给定一个整数 N&#xff0c;请你求出所有分母小于或等于 N&#xff0c;大…

DFS基础——迷宫

迷宫 配套视频讲解 关于dfs和bfs的区别讲解。 对于上图&#xff0c;假设我们要找从1到5的最短路&#xff0c;那么我们用dfs去找&#xff0c;并且按照编号从大到小的顺序去找&#xff0c;首先找到的路径如下&#xff0c; 从节点1出发&#xff0c;我们发现节点2可以走&#xff…

【并查集专题】【蓝桥杯备考训练】:网络分析、奶酪、合并集合、连通块中点的数量、格子游戏【已更新完成】

目录 1、网络分析&#xff08;第十一届蓝桥杯省赛第一场C A组/B组&#xff09; 2、奶酪&#xff08;NOIP2017提高组&#xff09; 3、合并集合&#xff08;模板&#xff09; 4、连通块中点的数量&#xff08;模板&#xff09; 5、格子游戏&#xff08;《信息学奥赛一本通》…

acwing算法提高之搜索--迭代加深DFS、双向DFS、IDA*

目录 1 专题介绍2 训练 1 专题介绍 本专题用来记录使用迭代加深DFS、双向DFS和IDA*算法求解的问题。 2 训练 题目1&#xff1a;170加成序列 C代码如下&#xff0c; #include <iostream> #include <cstring> #include <algorithm>using namespace std;co…

一笔画--PTA

文章目录 题目描述思路AC代码 题目描述 输入样例1 3 2 1 2 2 3 输出样例1 Y输入样例2 4 3 1 2 1 3 1 4 输出样例2 N输入样例3 1 0 输出样例3 Y思路 dfs 、欧拉通路、欧拉回路的判定 前导知识 欧拉通路、欧拉回路、欧拉图 无向图&#xff1a; ①设G是连通无向图&#xff0c;则称…

(AtCoder Beginner Contest 345) ---- F - Many Lamps -- 题解

F - Many Lamps 题目大意&#xff1a; 思路解析&#xff1a; 对于每个线只有三种情况 &#xff08;1&#xff09; 一个城市亮着灯&#xff0c;另一个城市没亮灯&#xff0c;此时选择这条线路&#xff0c;灯的点亮数不变 &#xff08;2&#xff09; 两个城市未亮灯&#xff…

牛客NC358 组合【中等 DFS Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/7cfd3675cc964ae6818a771ac97ece5f 思考 DFS参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可*…

7.搜索——2.深度优先搜索DFS——有解还是无解

深度优先搜索的特色 递归&#xff1a;判断有解还是无解 返回值设计 如果只是遍历&#xff0c;返回值void即可判断是否有路径&#xff0c;返回值bool 参数设计&#xff1a;DFS(当前结点信息&#xff0c;终点状态)去重&#xff0c;visited集合记录路径&#xff1a;栈 bool DFS…

蓝桥杯-24点-搜索

题目 思路 --暴力递归全组合的方法。只有4个数&#xff0c;4种计算方式&#xff0c;共有4 * 3 * 2 * 1 * 4种不同的情况&#xff0c;可以写递归来实现。 --每次计算都是两个数之间的运算&#xff0c;因此4个数需要3次计算&#xff0c;第一次计算前有4个数&#xff0c;第二次有…

第十四届蓝桥杯省赛C++B组题解

考点 暴力枚举&#xff0c;搜索&#xff0c;数学&#xff0c;二分&#xff0c;前缀和&#xff0c;简单DP&#xff0c;优先队列&#xff0c;链表&#xff0c;LCA&#xff0c;树上差分 A 日期统计 暴力枚举&#xff1a; #include<bits/stdc.h> using namespace std; int …

面试算法-50-二叉树的最大深度

题目 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3 解 class Solution {public int maxDepth(TreeNo…

C#,图论与图算法,图(Graph)广度优先遍历(BFS,Breadth First Search)算法与源代码

1 深度优先算法与 宽度优先遍历 深度优先算法(DFS,Deep First Search)与 宽度优先遍历(BFS,Breadth First Search) 是树、图数据结构的基础性、标准性的遍历算法。 2 深度优先算法(DFS,Deep First Search) 深度优先搜索(DFS)是一种用于搜索图形或树数据结构的算法…

Tree Compass Codeforces Round 934 (Div. 2) 1944E

Problem - E - Codeforces 题目大意&#xff1a;有一棵n个点的树&#xff0c;初始状态下所有点都是白色的&#xff0c;每次操作可以选择一个点u和一个距离dis&#xff0c;使得距离点u所有长度为dis的点变为黑色&#xff0c;问最少需要多少次操作能使所有点变成黑色&#xff0c…

蓝桥杯练习题总结(二)dfs题、飞机降落、全球变暖

一、飞机降落 问题描述&#xff1a; N架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 时刻到达机场上空&#xff0c;到达时它的剩余油料还可以继续盘旋 个单位时间&#xff0c;即它最早可以于 1, 时刻开始降落&#xff0c;最晚可以于时刻开始降落。降落过程需要个…

蓝桥杯第14届模拟赛最大连通分块(dfs)

问题描述(答案148)   小蓝有一个 30 行 60 列的数字矩阵&#xff0c;矩阵中的每个数都是 0 或 1 。 110010000011111110101001001001101010111011011011101001111110 010000000001010001101100000010010110001111100010101100011110 001011101000100011111111111010000010010…

牛客NC196 编辑距离(一)【较难 DFS/DP,动态规划,样本对应模型 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/6a1483b5be1547b1acd7940f867be0da 思路 编辑距离问题 什么是两个字符串的编辑距离&#xff08;edit distance&#xff09;&#xff1f;给定字符串s1和s2&#xff0c;以及在s1上的如下操作&#xff1a;插入&…

迷宫(蓝桥杯)——DFS和BFS

迷宫 题目描述 下图给出了一个迷宫的平面图&#xff0c;其中标记为 1 的为障碍&#xff0c;标记为 0 的为可以通行的地方。 010000 000100 001001 110000迷宫的入口为左上角&#xff0c;出口为右下角&#xff0c;在迷宫中&#xff0c;只能从一个位置走到这 个它的上、下、左…

蓝桥杯每日一题(dfs)

3502 不同路径数 1、要注意以每个点为起点都要dfs 2、自己用1-n 1-m存数不知道为什么报错 3、自己写的时候参数写对了 层数&#xff0c;来源的位置&#xff0c;前面累计的数 4、边界&#xff1a;0-k-1实现了k次&#xff0c;到k的时候&#xff0c;直接将res加入set 5、否则…

力扣200. 岛屿数量(DFS)

Problem: 200. 岛屿数量 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.遍历矩阵grid的每一个位置&#xff1b;若某个位置为’1’则将用于记录岛屿数量的变量count&#xff0c;并调用dfs函数&#xff1b; 2.dfs函数实现&#xff1a; 2.1.若当前grid位置为’0’…

力扣题目训练(23)

2024年2月16日力扣题目训练 2024年2月16日力扣题目训练645. 错误的集合653. 两数之和 IV - 输入二叉搜索树657. 机器人能否返回原点307. 区域和检索 - 数组可修改309. 买卖股票的最佳时机含冷冻期174. 地下城游戏 2024年2月16日力扣题目训练 2024年2月16日第二十三天编程训练&…

【DFS+贪心】第十四届蓝桥杯省赛C++ B组《飞机降落》(C++)

【题目描述】 有 N 架飞机准备降落到某个只有一条跑道的机场。 其中第 i 架飞机在 Ti 时刻到达机场上空&#xff0c;到达时它的剩余油料还可以继续盘旋 Di 个单位时间&#xff0c;即它最早可以于 Ti 时刻开始降落&#xff0c;最晚可以于 TiDi 时刻开始降落。 降落过程需要 L…

从零学算法131

131.给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。 示例 1&#xff1a; 输入&#xff1a;s “aab” 输出&#xff1a;[[“a”,“a”,“b”],[“aa”,“b”]] 示例 2&#xff1a; 输入&#xff1a;s …

LeetCode-热题100:17.电话号码的字母组合

题目描述 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a; digits “23” 输出&a…

图论04-岛屿数目(Java)

4.岛屿数目 题目描述 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你…

扫雷(蓝桥杯,acwing)

题目描述&#xff1a; 扫雷是一种计算机游戏&#xff0c;在 2020 世纪 80 年代开始流行&#xff0c;并且仍然包含在某些版本的 Microsoft Windows 操作系统中。 在这个问题中&#xff0c;你正在一个矩形网格上玩扫雷游戏。 最初网格内的所有单元格都呈未打开状态。 其中 M个…

【洛谷 P1101】单词方阵 题解(dfs深度优先搜索)

题目描述 给一 nn 的字母方阵&#xff0c;内可能蕴含多个 yizhong 单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 88 个方向的任一方向&#xff0c;同一单词摆放时不再改变方向&#xff0c;单词与单词之间可以交叉&#xff0c;因此有可能共用字母。输出时&#xff…

题目 3152: 蓝桥杯2023年第十四届省赛真题-接龙数列【DFS简单爆搜做法】

&#x1f44f;这个是目录哦~ DFS 只能拿到 1/4 的分数心路历程核心出装三大件get_first()get_last()dfs() 全部 DFS 只能拿到 1/4 的分数 心路历程 核心出装三大件 get_first() inline int get_first(int n) {//123//12//1while (n / 10) {n / 10;}return n; }get_last() in…

蓝桥杯刷题之路径之谜

题目来源 路径之谜 不愧是国赛的题目 题意 题目中会给你两个数组&#xff0c;我这里是分别用row和col来表示 每走一步&#xff0c;往左边和上边射一箭&#xff0c;走到终点的时候row数组和col数组中的值必须全部等于0这个注意哈&#xff0c;看题目看了半天&#xff0c;因为…

LC 101.对称二叉树

101. 对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a; root [1,2,2,3,4,4,3] 输出&#xff1a; true 示例 2&#xff1a; 输入&#xff1a; root [1,2,2,null,3,null,3] 输出&#xff1a; false 提示&#x…

算法6.4-6.6DFS

一个不知名大学生&#xff0c;江湖人称菜狗 original author: Jacky Li Email : 3435673055qq.com Time of completion&#xff1a;2024.03.27 Last edited: 2024.03.27 目录 算法6.4-6.6DFS 第1关&#xff1a;算法6.5采用邻接矩阵表示图的深搜 任务描述 相关知识 编程要求…

DFS:从递归去理解深度优先搜索

一、深入理解递归 二、递归vs迭代 三、深入理解搜索、回溯和剪枝 四、汉诺塔问题 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public: //笔试题&#xff0c;不讲武德&#xff0c;CAvoid move(int n,vector<int>& A, vector<int>& B, ve…

DFS深度优先搜索刷题(一)

一.P2089 烤鸡 算法思想&#xff1a; 指数型枚举&#xff0c;可以通过dfs深度优先搜索暴力枚举出所有可能的情况&#xff0c;在通过剪枝去除错误的方案来减少时间开销。主要用一个循环枚举每个调料放几克&#xff08;每个位置的分支情况都相同&#xff09;&#xff0c;注意回溯…

【算法每日一练]-图论(保姆级教程篇16 树的重心 树的直径)#树的直径 #会议 #医院设置

目录 树的直径 题目&#xff1a;树的直径 &#xff08;两种解法&#xff09; 做法一&#xff1a; 做法二&#xff1a; 树的重心&#xff1a; 题目&#xff1a; 会议 思路&#xff1a; 题目&#xff1a;医院设置 思路&#xff1a; 树的直径 定义&#xff1a;树中距离最…

C#,图论与图算法,计算图(Graph)的岛(Island)数量的算法与源程序

1 孤岛数 给定一个布尔矩阵,求孤岛数。一组相连的1形成一个岛。例如,下面的矩阵包含5个岛: 在讨论问题之前,让我们先了解什么是连接组件。无向图的连通分量是一个子图,其中每两个顶点通过一条路径相互连接,并且不与子图外的其他顶点连接。 所有顶点相互连接的图只有一个…

回溯-dfs-力扣,括号生成

数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())()","()(())","()()()…

算法:bfs(深度优先搜索)

// dfs习题&#xff1a; // 输入9行&#xff0c;0代表未知 // 输出9行即最终结果 #include <stdio.h> #include <stdlib.h> int main() {int table[9][9];//输入数据for (int i 0; i < 9; i) {for (int j 0; j < 9; j) {scanf("%d", &table[…

图论基础|深度优先dfs、广度优先bfs

dfs 与 bfs 区别 提到深度优先搜索&#xff08;dfs&#xff09;&#xff0c;就不得不说和广度优先搜索&#xff08;bfs&#xff09;有什么区别 先来了解dfs的过程&#xff0c;很多录友可能对dfs&#xff08;深度优先搜索&#xff09;&#xff0c;bfs&#xff08;广度优先搜索…

蓝桥杯备赛_python_DFS搜索算法_刷题学习笔记

1.是什么 沿着一条路径一直搜索下去&#xff0c;在无法搜索时&#xff0c;回退到刚刚访问过的节点。并且每个节点只能访问一次。本质上是持续搜索&#xff0c;遍历了所有可能的情况&#xff0c;必然能得到解。 流程是一个树的形式&#xff0c;每次一条路走到黑。 目的主要是达到…

复习Day2_

4.全球变暖 - 蓝桥云课 (lanqiao.cn) #include <bits/stdc.h> using namespace std; #define int long long const int N1e36; char a[N][N]; int n; int xx[]{0,1,-1,0};//右 下 上 左 int yy[]{1,0,0,-1}; int scc0;//涂色器 int clsm[N*N];//用于存储每个颜色是否还有…

【算法每日一练]-动态规划(保姆级教程 篇17 状态压缩)#POJ1185:炮兵阵地 #互不侵犯

目录 今日知识点&#xff1a; 把状态压缩成j,dp每行i的布置状态&#xff0c;从i-1和i-2行进行不断转移 把状态压缩成j,dp每行i的布置状态&#xff0c;从i-1行进行状态匹配&#xff0c;然后枚举国王数转移 POJ1185&#xff1a;炮兵阵地 思路&#xff1a; 题目&#xff1a;互…

玩具蛇(蓝桥杯)

文章目录 玩具蛇题目描述答案&#xff1a;552dfs 玩具蛇 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小蓝有一条玩具蛇&#xff0c;一共有 16 节&#xff0c;上面标着数字 1 至 16。每一节都是一个正方形的形…

洛谷刷题 | P1706 全排列问题

全排列问题 题目描述 按照字典序输出自然数 1 1 1 到 n n n 所有不重复的排列&#xff0c;即 n n n 的全排列&#xff0c;要求所产生的任一数字序列中不允许出现重复的数字。 输入格式 一个整数 n n n。 输出格式 由 1 ∼ n 1 \sim n 1∼n 组成的所有不重复的数字序…

【笔试】美团2023年秋招第1场笔试(后端数开软件方向)

文章目录 T1 小美玩排列T2 小美走公路T3 小美切蛋糕T4 小美将字符串平铺成矩阵T5 小美染色 23秋招&#xff0c;美团笔试1&#xff08;技术&#xff09; 美团2024届秋招笔试第一场编程真题 时间&#xff1a;2023.08&#xff0c;牛客补题 美团是少有的整份卷子5题都是算法题的&…

牛客NC12 重建二叉树【中等 dfs Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6 思路 先序遍历第一个值就是根节点&#xff0c;根据这个值可以在中序中划分左右子树&#xff0c; 我们这里已经将一个数划分成两颗子树&#xff0c;那么在递归的使用刚刚的分析…

【真题解析】题目 3151: 蓝桥杯2023年第十四届省赛真题-飞机降落【C++ DFS 超详解注释版本】

爆搜冥想 暴力枚举每一辆飞机对于每一个飞机都只存在两种情况&#xff0c;可以降落和不可以降落如果可以降落&#xff0c;计算降落后最早可以降落的时间pre&#xff0c;作为下一次递归的传参如果不可以降落&#xff0c;枚举下一辆飞机 注意这辆的降落有盘旋这种量子叠加态&…

代码随想录算法训练营第二十一天| 530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236. 二叉树的最近公共祖先

题目与题解 530.二叉搜索树的最小绝对差 题目链接&#xff1a;530.二叉搜索树的最小绝对差 代码随想录题解&#xff1a;530.二叉搜索树的最小绝对差 视频讲解&#xff1a;二叉搜索树中&#xff0c;需要掌握如何双指针遍历&#xff01;| LeetCode&#xff1a;530.二叉搜索树的最…

day28|93. 复原 IP 地址|Leetcode 78. 子集|90.子集II

Leetcode 93. 复原 IP 地址 链接&#xff1a;93. 复原 IP 地址 thought: for循环遍历所有s的字符&#xff0c;当当前字符段满足条件&#xff0c;塞入path&#xff0c;并进行递归&#xff0c;寻找下一个字符段&#xff0c;直到有三个点的存在&#xff0c;若最后一个剩下的字符…

【蓝桥杯每日一题】4.2 全球变暖

原题链接&#xff1a;1233. 全球变暖 - AcWing题库 由题意可知&#xff1a; 需要找到淹没的岛屿的数量淹没的岛屿所具备的条件&#xff1a;咩有“高地”&#xff0c;也就是说岛屿&#xff08;连通块&#xff09;中的所有元素的 4 4 4-邻域中均含有’ . ’ 思路1&#xff1a;…

(DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕

题目链接 点此快速前往 题目总分析 就和我说的一样&#xff0c;这道题就是DFS加剪枝&#xff0c;非常好的一道题 我起初看到这个题我根本不知道怎么dfs才是正确的&#xff0c; 感觉变量有这么多不确定的&#xff0c;每一层的半径&#xff0c;每一层的高度&#xff0c;而且这…

递归的三种选数

/* 指数型枚举&#xff08;每个数有选和不选两种情况&#xff09; #include<bits/stdc.h> using namespace std; const int N20; int n; int st[N];//记录每个数的状态&#xff0c;0还没有考虑&#xff0c;1表示选这个数&#xff0c;2表示不选这个数 void dfs(int x){/…

DFS 全排列问题 C语言代码

深度优先搜索(DFS)是一种遍历算法&#xff0c;尽可能深地向子树中的结点搜索&#xff0c;直到达到一定的深度&#xff0c;再回溯到上层的结点&#xff0c;继续搜索未被访问的结点。 全排列问题 给定 4 个数 1 2 3 4&#xff0c;求他们所有可能的排列结果 。 代码 #include …

蓝桥杯-dfs搜索模板题(一)

蓝桥杯-dfs搜索模板题&#xff08;一&#xff09; P2089 烤鸡P1088 火星人P1149 火柴棒等式P2036 PERKETP1135 奇怪的电梯结语 P2089 烤鸡 对于每个位置枚举数字 #include<bits/stdc.h>using namespace std;const int N1010;int n;int arr[N];//临时方案 int res0;//方案…

蓝桥杯 - 走迷宫

解题思路&#xff1a; 经典dfs题目&#xff0c;需要重点掌握。 养成好习惯&#xff0c;静态方法都要用到的变量提前想到定义为静态常量。 import java.util.Scanner;public class Main {//注意加static&#xff0c;经常忘记导致编译错误static int N, M, x1, x2, y1, y2, mi…

【leetcode】 c++ 数字全排列, test ok

1. 问题 2. 思路 3. 代码实现 #if 0 class Solution { private:vector<int> path; // 满足条件的一个结果 vector<vector<int>> res; // 结果集 void backtracking(vector<int> nums, vector<bool> used){// 若path的个数和nums个数相等,说明…

面试算法-128-单词拆分 II

题目 给定一个字符串 s 和一个字符串字典 wordDict &#xff0c;在字符串 s 中增加空格来构建一个句子&#xff0c;使得句子中所有的单词都在词典中。以任意顺序 返回所有这些可能的句子。 注意&#xff1a;词典中的同一个单词可能在分段中被重复使用多次。 示例 1&#xff…

二叉树的遍历——洛谷P1364

1. 如何构建父节点与子节点的关系 通过一个结构体&#xff0c;包括每一个节点的父、子节点&#xff0c;在读入一个节点的数据时&#xff0c;标记其子节点的父节点为自己 2. 代码 #include<bits/stdc.h> using namespace std;struct node {int f,l,r,w; }tr[105];int n,s,…

2024.3.5力扣每日一题——到达目的地的方案数

2024.3.5 题目来源我的题解方法一 深度优先遍历&#xff08;超时&#xff09;方法二 最短路径算法&#xff08;Dijkstra 算法&#xff09;优先队列 题目来源 力扣每日一题&#xff1b;题序&#xff1a;1976 我的题解 方法一 深度优先遍历&#xff08;超时&#xff09; 从节点…

搜索算法刷题(算法竞赛、蓝桥杯)--DFS、BFS

1、题目链接&#xff1a;P1331 海战 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <bits/stdc.h> using namespace std; const int N1010; char g[N][N]; int res,r,c; int dx[4]{-1,0,1,0}; int dy[4]{0,1,0,-1};void dfs(int x,int y){g[x][y].;//直接变成.…

树的重心——树的结构

树的重心是指对于某个点&#xff0c;将其删除后&#xff0c;可以使得剩余联通块的最大值最小。也就等价于一某个点为根的树&#xff0c;将根删除后&#xff0c;剩余的若干棵子树的大小最小。 例如下图的树的重心就是2。 性质&#xff1a; 性质一&#xff1a;重心的若干棵子树打…

深度优先搜索(DFS)算法深入探索与实践

文章目录 深度优先搜索&#xff08;DFS&#xff09;算法深入探索与实践DFS的工作原理DFS的实现C中DFS的递归实现 注意事项C中DFS的迭代实现 DFS的应用场景结论 深度优先搜索&#xff08;DFS&#xff09;算法深入探索与实践 深度优先搜索&#xff08;Depth-First Search&#x…

CF 937 G. Shuffling Songs

原题链接&#xff1a;Problem - G - Codeforces 题目大意&#xff1a;t组数据&#xff0c;每组数据给出n个歌曲&#xff0c;歌曲由二维构成&#xff0c;第一维为类型&#xff0c;第二维为作者&#xff0c;如果二首歌曲类型相同或者作者相同&#xff0c;那么它们就可以连续播放…

题目 3153: 蓝桥杯 2023 年第十四届省赛真题-岛屿个数【双DFS-50行代码】

题目 3153: 蓝桥杯 2023 年第十四届省赛真题-岛屿个数 提示&#xff1a;&#x1f446;点击标题跳转原题&#x1f446; &#x1f914;思路 对八个方向进行搜索&#xff0c;下一步(没有走过的)只有可能是海洋或者是陆地两种情况搜到陆地就将与它相邻的陆地全部走一遍 搜索八个方…

acwing1114

#include<bits/stdc.h> using namespace std; const int N10; int n,k; char g[N][N]; //记录每列放没放过 bool st[N]; int res0; //x表示当前枚举到了哪一行&#xff0c;cnt记录放了几颗棋 void dfs(int x,int cnt){ if(cntk){ res; return ; …

【力扣】200.岛屿数量(染色法DFS深搜)

岛屿数量 题目描述 链接:力扣&#xff1a;200.岛屿数量 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆…

【算法每日一练]-数论(保姆级教程 篇1 埃氏筛,欧拉筛)

目录 保证给你讲透讲懂 第一种&#xff1a;埃氏筛法 第二种&#xff1a;欧拉筛法 题目&#xff1a;质数率 题目&#xff1a;不喜欢的数 思路&#xff1a; 问题&#xff1a;1~n 中筛选出所有素数&#xff08;质数&#xff09; 有两种经典的时间复杂度较低的筛法&#xff0…

2024.3.17力扣每日一题——最小高度树

2024.3.17 题目来源我的题解方法一 深度优先遍历方法二 广度优先遍历方法三 拓扑排序 题目来源 力扣每日一题&#xff1b;题序&#xff1a;310 我的题解 方法一 深度优先遍历 从每一个节点开始进行深度优先遍历并计算以该节点为根节点的树的深度&#xff0c;使用哈希表存储对…

算法学习系列(四十七):IDA*

目录 引言一、概念二、例题1.排书2.回转游戏 引言 之前觉得这个IDA*算法、迭代加深算法很神秘&#xff0c;感觉很难&#xff0c;其实自己学下来感觉其实不难&#xff0c;相反思路非常的简单&#xff0c;清晰明了&#xff0c;我觉得难是因为我之前从来都不写暴力&#xff0c;就…

LeetCode - 岛屿数量

200. 岛屿数量 第一种写法&#xff1a;遍历岛屿&#xff0c;当遇到岛屿的时候&#xff0c;就开始进行深搜&#xff0c;遇到岛屿就将岛屿从1变为0。 class Solution { public:int dx[4] {0,0,1,-1};int dy[4] {1,-1,0,0};void dfs(int i, int j, vector<vector<char>…

图的遍历试题

一、单项选择题 01.下列关于广度优先算法的说法中&#xff0c;正确的是( ). Ⅰ.当各边的权值相等时&#xff0c;广度优先算法可以解决单源最短路径问题 Ⅱ.当各边的权值不等时&#xff0c;广度优先算法可用来解决单源最短路径问题 Ⅲ.广度优先遍历算法类似于树中的后序遍历算法…

Unity性能优化篇(十四) 其他优化细节以及UPR优化分析器

代码优化&#xff1a; 1. 使用AssetBundle作为资源加载方案。 而且经常一起使用的资源可以打在同一个AssetBundle包中。尽量避免同一个资源被打包进多个AB包中。压缩方式尽量使用LZ4&#xff0c;少用或不要用LZMA的压缩方式。如果确定后续开发不会升级Unity版本&#xff0c;则可…

AcWing---病毒溯源---树状dp

3465. 病毒溯源 - AcWing题库 思路&#xff1a; 看到题&#xff0c;可以想到树&#xff0c;想到树就会想到递归&#xff0c;所以一般树状dp都是用递归来实现的。那么这道题的递推公式是什么呢&#xff0c;随便抓取一个点当做根节点&#xff0c;将g[i]定义为以i为根节点开始最长…

14.2024

A,2,3, 4,5, 6, 7,8,9共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。下图就是一种排法。 A 96 4 8 3752 图片描述这样的排法可能会有很多。 如果考虑旋转、镜像后相同的算同一种&#xff0c;一共有多少种不同的排法呢?请你计算并提交该数字。 代码&#xff1a; …

每日一题(leetcode1026):节点与其祖先的最大差值--dfs

考虑到只能计算祖先之间的节点差而不能计算兄弟之间的节点差&#xff0c;所以思考使用dfs来解决该题。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), ri…

P1123 取数游戏(dfs算法)

题目描述 一个 NM 的由非负整数构成的数字矩阵&#xff0c;你需要在其中取出若干个数字&#xff0c;使得取出的任意两个数字不相邻&#xff08;若一个数字在另外一个数字相邻 8个格子中的一个即认为这两个数字相邻&#xff09;&#xff0c;求取出数字和最大是多少。 输入格式 第…

2024.4.5力扣每日一题——节点与其祖先之间的最大差值

2024.4.5 题目来源我的题解方法一 深度优先遍历方法二 题目来源 力扣每日一题&#xff1b;题序&#xff1a;1026 我的题解 方法一 深度优先遍历 从根开始深度优先遍历&#xff0c;在遍历过程中记录遍历过的节点中的最大值和最小值。 时间复杂度&#xff1a;O(n) 空间复杂度&…

【算法】记忆化搜索

概念 举例 拿斐波那契数列举例 可以发现一般的求解过程中&#xff0c;有很多重复的子问题&#xff0c;递归的本质就是深度优先遍历&#xff0c;如果此时我们可以记录下此时的值然后记录在哈希表中&#xff0c;下一次递归前先去哈希表中查找如果有该值的答案直接返回即可。 这…

第十四届省赛大学B组(C/C++)接龙数列

题目链接&#xff1a;接龙数列 对于一个长度为 K 的整数数列&#xff1a;A1,A2,...,AK我们称之为接龙数列当且仅当 Ai 的首位数字恰好等于 Ai−1 的末位数字 (2≤i≤K)。 例如 12,23,35,56,61,1112,23,35,56,61,11 是接龙数列&#xff1b;12,23,34,5612,23,34,56 不是接龙数列…

蓝桥杯(3):python搜索DFS

目录 1 DFS简介 1.1 DFS与n重循环 1.2 代码实现 1.3 例题 1.3.1 分糖果 1.3.2 买瓜 2 回溯 2.1 定义 2.2 代码实例 2.1.1 排列数 2.1.2 找子集 2.3 例题 2.3.1 N皇后 2.3.2 小朋友崇拜圈 2.3.3 全球变暖 3 剪枝 3.1 定义 3.2 分类 3.3 例子 3.3.1 数字王国之…

多叉树先序遍历,LeetCode 1600. 王位继承顺序

目录 一、题目 1、题目描述 2、接口描述 python3 cpp 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 python3 cpp 一、题目 1、题目描述 一个王国里住着国王、他的孩子们、他的孙子们等等。每一个时间点&#xff0c;这个家庭里有人出生也有人死亡。…

【AcWing】蓝桥杯集训每日一题Day14|Flood Fill|洪水灌溉算法|DFS|并查集|687.扫雷(C++)

687.扫雷 687. 扫雷 - AcWing题库难度&#xff1a;简单时/空限制&#xff1a;1s / 64MB总通过数&#xff1a;2865总尝试数&#xff1a;5315来源&#xff1a;Google Kickstart2014 Round C Problem A算法标签BFSDFSFlood Fill 题目内容 扫雷是一种计算机游戏&#xff0c;在 20…

【三十六】【算法分析与设计】综合练习(3),39. 组合总和,784. 字母大小写全排列,526. 优美的排列

目录 39. 组合总和 对每一个位置进行枚举 枚举每一个数出现的次数 784. 字母大小写全排列 526. 优美的排列 结尾 39. 组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不…

Pots(DFS BFS)

//新生训练 #include <iostream> #include <algorithm> #include <cstring> #include <queue> using namespace std; typedef pair<int, int> PII; const int N 205; int n, m; int l; int A, B, C; int dis[N][N];struct node {int px, py, op…

全球变暖蓝桥杯2018省赛真题

全球变暖蓝桥杯2018省赛真题 DFS大法 全球变暖 #include <bits/stdc.h> using namespace std; #define int long long bool flag; char a[1010][1010]; int cnt,n,ans0,pre_ans0,d[4][2] {1,0,-1,0,0,1,0,-1}; void dfs(int x,int y){if(x>n||x<0||y>n||y<…

全球变暖(dfs和bfs)

你有一张某海域 NN像素的照片&#xff0c;”.”表示海洋、”#”表示陆地&#xff0c;如下所示&#xff1a; ....... .##.... .##.... ....##. ..####. ...###. .......其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿&#xff0c;例如上图就有 22 座岛屿。 由于全…

蓝桥备赛——DFS

废话不多说&#xff0c;先上题 对应代码如下&#xff1a; def dfs(x,y):global numfor i in range(0,4):dir[(-1,0),(0,-1),(1,0),(0,1)]nx,nyxdir[i][0] ,ydir[i][1]if nx<0 or nx>hx or ny <0 or ny>wy: continueif mp[nx][ny]*:num1print("%d:%s->%d%…

蓝桥杯-正则问题

#include<iostream> #include<string> #include<algorithm> using namespace std;int pos 0, l;//pos当前遍历到的位置&#xff0c;l是正则式的长度 string s;int dfs(){int temp 0, ans 0;//temp保存左半部分 while(pos < l){if(s[pos] (){pos;//跳…

数位DP简单题复习

DFS 模板 #include<bits/stdc.h> using namespace std; const int N20; int dp[N][N]; int a[N],len; int n,m;//pos 代表当前位置 limit是当前位置是否有这个枚举范围限制int dfs(int pos,int pre,int limit){if(!pos)return 1;if(!limit&&~dp[pos][pre])return…

最近公共祖先(lca)倍增算法【模板】

P3379 【模板】最近公共祖先&#xff08;LCA&#xff09; - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> #include<cstdio> using namespace std; const int N5e5100; const int inf0x3f3f3f; int n,m,s; vector<int>g[N]; int dep[…

【笔试】美团2023年秋招第5场笔试(后端数开软件方向)

文章目录 T1 小美的升序数组T2 小美的子序列T3 小美的数组T4 小美的元素删除T5 题目忘了&#xff08;不确定是不是这个题面&#xff09; 23秋招&#xff0c;美团笔试5&#xff08;技术&#xff09; 2023 美团笔试题 0902&#xff0c;咋都是牛客月赛原题呀&#xff08; 时间&am…

迷宫(一)(DFS BFS)

//新生训练 #include <bits/stdc.h> using namespace std; int n, m; bool f; char mp[15][15]; int vis[15][15]; int dir[4][2] {{-1, 0}, {0, 1}, {1, 0}, {0, -1}}; bool in(int x, int y) {return 0 < x && x < n && 0 < y && y …

代码随想录 图论

目录 797.所有可能得路径 200.岛屿数量 695.岛屿的最大面积 1020.飞地的数量 130.被围绕的区域 417.太平洋大西洋水流问题 827.最大人工岛 127.单词接龙 841.钥匙和房间 463.岛屿的周长 797.所有可能得路径 797. 所有可能的路径 中等 给你一个有 n 个节点的…

洛谷P1088 [NOIP2004 普及组] 火星人

传送门&#xff1a;https://www.luogu.com.cn/problem/P1088 一个全排列问题&#xff0c;可以把洛谷P1706写了再来写。 P1706&#xff1a; https://www.luogu.com.cn/problem/P1706 看到题目的我的第一反应就是DFS&#xff0c;模拟全排列的过程&#xff0c;然后找到火星人给的…

蓝桥杯飞机降落dfs深度解析

蓝桥杯飞机降落dfs深度解析 蓝桥杯14届省赛[飞机降落]题目描述输入格式输出格式样例输入样例输出提示code完整代码&#xff1a; 蓝桥杯14届省赛[飞机降落] 题目描述 N 架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 Ti 时刻到达机场上空&#xff0c;到达时它的…

蓝桥杯23年第十四届省赛真题-填充|DFS,贪心

题目链接&#xff1a; 1.填充 - 蓝桥云课 (lanqiao.cn) 蓝桥杯2023年第十四届省赛真题-填充 - C语言网 (dotcpp.com) 说明&#xff1a; dfs就不再多说了&#xff0c;对于每个?都有0和1两个分支&#xff0c;数据范围是&#xff1a; 那么有m个 ?&#xff0c;时间复杂度就是…

【力扣】300. 最长递增子序列(DFS+DP两种方法实现)

目录 题目传送最长递增子序列[DFS 方法]DFS方法思路图思路简述代码大家可以自行考虑有没有优化的方法 最长递增子序列[DP]方法DP方法思路图思路简述代码方案 题目传送 原题目链接 最长递增子序列[DFS 方法] DFS方法思路图 思路简述 对于序列中的每一个数字只有选择和不选择两…

BFS(广度优先搜索)和DFS(深度优先搜索)的相关介绍解析

文章目录 DFS 和 BFSBFS 的应用一&#xff1a;层序遍历BFS 的应用二&#xff1a;最短路径最短路径例题讲解 DFS简介DFS原理分类与分析1. DFS连通性模型2. DFS思路应用-穷举求解问题 剪枝优化、题型归纳总结概述&#xff1a;剪枝与优化1.问题的转化、数据的预处理与压缩2.分组问…

备战蓝桥杯---树学初步1

LCA&#xff08;最近公共祖先&#xff09; 定义&#xff1a;有根树的两个节点u,v&#xff0c;他们的LCA是一个节点x,其中x是他们的公共祖先并且X的深度尽可能大。 法1---Tarjan算法&#xff1a; 核心&#xff1a;DFS并查集 在并查集中建立仅有u的集合&#xff0c;设该集合祖…

蓝桥杯算法基础(34)深度优先搜索DFS(数独游戏)(部分和)(水洼数目)(八皇后问题)(素数环)(困难的串)

深度优先搜索DFS Depth First Searchdfs:先把一条路走到黑 纵横bfs:所有路口看一遍 图 必须借助队列的数据结构无死角搜索数独游戏 你一定听说过数独游戏 如下图所示&#xff0c;玩家需要根据9*9盘面上的已知数字&#xff0c;推理出所有剩余空格的数字&#xff0c;并满足每一行…

AcWing-木棍

167. 木棒 - AcWing题库 所需知识&#xff1a;dfs&#xff0c;剪枝 思路&#xff1a;首先&#xff0c;将木棍的长度从所有小木棍的最大值开始遍历&#xff0c;遇到的第一个能使所有的小木棍组合成长度相等的大木棍时&#xff0c;则为最优答案&#xff0c;如果想暴力做的话&am…

【探究图论中dfs记忆化,搜索,递推,回溯关系】跳棋,奶牛隔间, 小A和uim之大逃离 II

本篇很高能&#xff0c;如有错误欢迎指出&#xff0c;本人能力有限&#xff08;需要前置知识记忆化dfs&#xff0c;树形dp&#xff0c;bfsdp&#xff0c;tarjan&#xff09; 另外&#xff0c;本篇之所以属于图论&#xff0c;也是想让各位明白&#xff0c;dfs就是就是在跑图&am…

leetcode77.组合

编写CPP代码感悟&#xff1a; 能用vector就别用普通数组&#xff0c;如果是用vector的话&#xff0c;debug的时候clion的调试界面会更加友好&#xff0c;如果是数组的话&#xff0c;好像没有便捷查看数组元素的方式&#xff0c;比较F*&&*k&#xff0c;而且写vector引用…

[leetcode] 46. 全排列

文章目录 题目描述解题方法dfsjava代码复杂度分析 相似题目 题目描述 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3]…

【哈希专题】【蓝桥杯备考训练】:星空之夜、模拟散列表、字符串哈希、四平方和、扫雷【已更新完成】

目录 1、星空之夜&#xff08;usaco training 5.1&#xff09; 2、模拟散列表&#xff08;模板&#xff09; 3、字符串哈希&#xff08;模板&#xff09; 4、四平方和&#xff08;第七届蓝桥杯省赛C A组/B组 & JAVA B组/C组&#xff09; 5、扫雷&#xff08;Google Ki…

蓝桥杯:大臣的旅费(dfs,bfs,python)(树的直径问题)

本题还是比较有意思的&#xff0c;跟以往图论有所不同的是&#xff0c;之前的图论大部分都是二维或者三维数组&#xff08;类似迷宫问题那样&#xff09;&#xff0c;本题则是邻接表&#xff0c;也可以是树形存储方式。 题目&#xff1a; 题目链接&#xff1a;大臣的旅费 很久…

图的应用试题

01&#xff0e;任何一个无向连通图的最小生成树( )。 A.有一棵或多棵 B.只有一棵 C.一定有多棵 D.可能不存在 02.用Prim算法和Kruskal算法构造图的最小生成树&#xff0c;…

洛谷-P1706 全排列问题(DFS)

目录 题目链接&#xff1a; 思路&#xff1a; 代码&#xff1a; 题目链接&#xff1a; P1706 全排列问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a; 如果n比较小&#xff0c;可以写n个for循环输出全排列。但是这种简单方法只能用于较小的n&#xff0…

【二叉树】Leetcode 437. 路径总和 III【中等】

路径总和 III 给定一个二叉树的根节点 root &#xff0c;和一个整数 targetSum &#xff0c;求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始&#xff0c;也不需要在叶子节点结束&#xff0c;但是路径方向必须是向下的&#xff08;只能从父节…

Oil Deposits (DFS BFS)

//新生训练 #include <iostream> #include <algorithm> #include <cstring> #include <queue> using namespace std; using PII pair<int, int>; const int N 205; int n, m; int dis[N][N]; int dx[] {0, 0, -1, 1, -1, 1, -1, 1}; int dy[]…

【数据结构与算法】深度优先搜索和广度优先搜索

树的深度优先搜索 function Node(value) {this.value valuethis.children [] }let a new Node(a) let b new Node(b) let c new Node(c) let d new Node(d) let e new Node(e) let f new Node(f) a.children.push(c) a.children.push(b) a.children.push(f) b.children…

反向dfs,LeetCode 192. 有向无环图中一个节点的所有祖先

一、题目 1、题目描述 给你一个正整数 n &#xff0c;它表示一个 有向无环图 中节点的数目&#xff0c;节点编号为 0 到 n - 1 &#xff08;包括两者&#xff09;。 给你一个二维整数数组 edges &#xff0c;其中 edges[i] [fromi, toi] 表示图中一条从 fromi 到 toi 的单向边…

LeetCode-199. 二叉树的右视图【树 深度优先搜索 广度优先搜索 二叉树】

LeetCode-199. 二叉树的右视图【树 深度优先搜索 广度优先搜索 二叉树】 题目描述&#xff1a;解题思路一&#xff1a;广度优先搜索解题思路二&#xff1a;深度优先搜索解题思路三&#xff1a;0 题目描述&#xff1a; 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它…

力扣2684---矩阵中移动的最大次数(DFS,Java、中等题)

目录 题目描述&#xff1a; 思路描述&#xff1a; 代码&#xff1a; 纯递归&#xff1a; 带有记忆化搜索的递归&#xff1a; 题目描述&#xff1a; 给你一个下标从 0 开始、大小为 m x n 的矩阵 grid &#xff0c;矩阵由若干 正 整数组成。 你可以从矩阵第一列中的 任一 单…

LC 145.二叉树的后序遍历

二叉树的后序遍历 给你一棵二叉树的根节点 root &#xff0c;返回其节点值的 后序遍历 。 示例 1&#xff1a; 输入&#xff1a; root [1,null,2,3] 输出&#xff1a; [3,2,1] 示例 2&#xff1a; 输入&#xff1a; root [] 输出&#xff1a; [] 示例 3&#xff1a; 输入&a…

【C语言】【Leetcode】2437. 有效时间的数目

文章目录 题目思路一、枚举思路二、回溯 题目 链接: link 思路一、枚举 这题的可以简单的看成 h1 h2 : m1 m2 的情况&#xff0c;其中 h1 和 h2 有关&#xff0c; m1 和 m2 有关&#xff0c;数目不多可以直接暴力枚举解决 int countTime(char * time) {int countHour 0;i…

回溯算法 DFS

目录 回溯算法和dfs的区别回溯算法基本框架例题&#xff1a;【1,2&#xff0c;3】的全排列代码详解完整代码 DFS 本文思路、代码均参考于&#xff1a;https://labuladong.online/algo/essential-technique/backtrack-framework-2/#%E4%B8%80%E3%80%81%E5%85%A8%E6%8E%92%E5%88%…

选数(dfs,isprime)

题目&#xff1a;P1036 [NOIP2002 普及组] 选数 - 洛谷 | 计算机科学教育新生态 (luogu.com​​​​​​.cn) #include<bits/stdc.h> using namespace std; int n,k; int a[22]; long long ans; bool isprime(int n){for(int i2;i<sqrt(n);i){if(n%i0) return false;…

【蓝桥杯每日一题】4.4 扫雷

题目来源&#xff1a; 687. 扫雷 - AcWing题库 参考&#xff1a;y总视频讲解 问题描述&#xff1a; 找到解决扫雷游戏中的最小点击次数 思考&#xff1a; 为了保证胜利且每个格子只能走一次&#xff0c;所以当遇到地雷或检测到该格子周围存在地雷的时候就需要停止搜索&…

LeetCode:1026. 节点与其祖先之间的最大差值(DFS Java)

目录 1026. 节点与其祖先之间的最大差值 题目描述&#xff1a; 实现代码与解析&#xff1a; DFS 原理思路&#xff1a; 1026. 节点与其祖先之间的最大差值 题目描述&#xff1a; 给定二叉树的根节点 root&#xff0c;找出存在于 不同 节点 A 和 B 之间的最大值 V&#xff…

NOIP2014提高组D1T2:联合权值

题目链接 NOIP2014提高组D1T2&#xff1a;联合权值 题目描述 无向连通图 G G G 有 n n n 个点&#xff0c; n − 1 n-1 n−1 条边。点从 1 1 1 到 n n n 依次编号,编号为 i i i 的点的权值为 W i W_i Wi​&#xff0c;每条边的长度均为 1 1 1。图上两点 ( u , v ) (…

266.【华为OD机试真题】抢7游戏(深度优先搜索DFS-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-抢7游戏二.解题思路三.题解代码Python题解代码…

DFS:深搜+回溯+剪枝解决组合问题

创作不易&#xff0c;感谢支持!!! 一、电话号码的组合 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public:string hash[10]{"","","abc","def","ghi","jkl","mno","pqrs"…

填字母游戏【蓝桥杯】/博弈+dfs

填字母游戏 博弈dfs #include<iostream> #include<map> using namespace std; //要用map存储已经处理过的字符串不然会超时 map<string,int> m; //dfs返回的就是结果 int dfs(string s) {//剪枝if(m.find(s)!m.end()) return m[s];//找到LOL代表输了if(s.fi…

dfs+剪枝,P1731 [NOI1999] 生日蛋糕

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 P1731 [NOI1999] 生日蛋糕 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 二、解题报告…

算法详解之深度优先搜索算法

14天阅读挑战赛 文章目录1、深度优先搜索&#xff08;Depth-First Search&#xff0c;DFS&#xff09;介绍2、深度优先搜索算法思想3、深度优先搜索算法步骤&#xff1a;4、深度优先搜索算法的应用1、深度优先搜索&#xff08;Depth-First Search&#xff0c;DFS&#xff09;介…

dfs(九)字符串的全排列

字符串的排列_牛客题霸_牛客网【牛客题霸】收集各企业高频校招笔面试题目&#xff0c;配有官方题解&#xff0c;在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://www.nowcoder.com/practice/fe6b651b66ae47d7ac…

[SCOI2005]骑士精神(C++,启发式搜索)

题目描述 输入格式 第一行有一个正整数 TTT&#xff08;T≤10T \le 10T≤10)&#xff0c;表示一共有 TTT 组数据。 接下来有 TTT 个 555 \times 555 的矩阵&#xff0c;0 表示白色骑士&#xff0c;1 表示黑色骑士&#xff0c;* 表示空位。两组数据之间没有空行。 输出格式 …

2023/3/23总结

题解&#xff1a; 作业&#xff1a; L题&#xff1a; 简单搜索&&进阶搜索 - Virtual Judge (vjudge.net) 1.这道题目需要用到dfs算法。如果用的是广搜&#xff0c;去判断结果上面会很吃亏&#xff08;TLE&#xff09;. 2.我们定义一个pos [ N ] 数组&#xff0c;…

leetcode547. 省份数量

有 n 个城市&#xff0c;其中一些彼此相连&#xff0c;另一些没有相连。如果城市 a 与城市 b 直接相连&#xff0c;且城市 b 与城市 c 直接相连&#xff0c;那么城市 a 与城市 c 间接相连。 省份 是一组直接或间接相连的城市&#xff0c;组内不含其他没有相连的城市。 给你一…

二叉树的堂兄弟节点

目录 一.二叉树的堂兄弟节点 1.题目描述 2.问题分析 3.代码实现 1.BFS解法 2.DFS解法 二.二叉树的堂兄弟节点 II 1.题目描述 2.问题分析 3.代码实现 一.二叉树的堂兄弟节点 1.题目描述 在二叉树中&#xff0c;根节点位于深度 0 处&#xff0c;每个深度为 k 的节点的子…

扫雷(c++实现)

题目 小明最近迷上了一款名为《扫雷》的游戏。 其中有一个关卡的任务如下&#xff1a; 在一个二维平面上放置着 n 个炸雷&#xff0c;第 i 个炸雷 (xi,yi,ri) 表示在坐标 (xi,yi) 处存在一个炸雷&#xff0c;它的爆炸范围是以半径为 ri 的一个圆。 为了顺利通过这片土地&…

acwing1388. 游戏 + LC1406.石子游戏 零和博弈

零和博弈 有点类似那个Min-Max 游戏 考虑DP【l,r】 为当前考虑到[l,r]当前的先手能得到的最大的分 #include<bits/stdc.h> using namespace std; using ll long long; using pii pair<int,int>; const int N 1e510; const int inf 0x3f3f3f3f; const int mod …

【算法刷题day14】二叉树理论基础、递归遍历、迭代遍历、统一迭代

二叉树理论基础 题目分类 二叉树的种类 无数值两种&#xff1a;满二叉树 和 完全二叉树 有数值&#xff1a;二叉搜索树 1.若它的左子树不空&#xff0c;则左子树上所有结点的值均小于它的根结点的值; 2.若它的右子树不空&#xff0c;则右子树上所有结点的值均大于它的根结点…

codeforces round 936 div2(a,b,c)

快一个月没做题了…果然vp的依托&#xff0c;加快训练吧 比赛链接 A 题目大意 给定 n n n个元素的数组 a a a&#xff0c;每次操作可以选择一个元素并让其加 1 1 1&#xff0c;问使得数组中位数&#xff08;像上取整&#xff09;变大的最小操作次数为多少 思路 先排序。每…

蓝桥杯c++搜索

N皇后 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std;const int N 15; int n, res; int col[N];bool pd(int k) {for (int i 1; i < k; i) {if (abs(k - i) abs(col[k] - col[i]) || col[k]…

112. 路径总和

112. 路径总和 C代码&#xff1a;DFS bool dfs(struct TreeNode* root, int targetSum, int sum) { // 每层的sum都是独立的if (root NULL) {return false;}sum root->val;if (sum targetSum && root->left NULL && root->right NULL) {return…

leetcode863. 二叉树中所有距离为 K 的结点(java)

二叉树中所有距离为 K 的结点 leetcode863. 二叉树中所有距离为 K 的结点题目描述 DFS 深度优先遍历代码演示 二叉树专题 leetcode863. 二叉树中所有距离为 K 的结点 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/all-…

1157 组合的输出(easy 大法师)

1157 组合的输出&#xff08;easy 大法师&#xff09; 很简单的搜索&#xff0c;直接模拟就好 首先我们要从1开始搜索 表示对于当前step&#xff0c;就是要填入的位置&#xff0c;也就是说我们要搜索位置 所以边界就是step>r 如果不是我们就要进行搜索 如果我们填数&#x…

2022.1.12

上午: 做题回溯例题:组合问题(这个出现了错误,我看不懂它那个提交上去产生的错误是个啥意思) 洛谷:单词方阵(感觉就只差一乃乃就写出来了,但就是卡住了) ! 想法: 这个题感觉和迷宫挺像不过起点有很多个(应该就是从每个起点出发,找到长度为7的数组和单词"yizhong"作比…

面试算法-126-二叉树的所有路径

题目 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [1,2,3,null,5] 输出&#xff1a;[“1->2->5”,“1->3”] 解 class …

【Leetcode每日一题】 递归 - 求根节点到叶节点数字之和(难度⭐⭐)(50)

1. 题目解析 题目链接&#xff1a;814. 二叉树剪枝 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 想象一下&#xff0c;你有一堆层层叠叠的积木&#xff0c;你想从底部开始&#xff0c;把那些标记为0的积木拿走。如…

吃豆豆 经典的区间DP 好题典题

这里很巧妙的注意一点是&#xff0c;你最后要把所有的豆子都吃掉&#xff0c;所以你只要看你多增加的尽量的少就好了 然后维护一段区间&#xff0c;表示的是吃掉这段区间里面的所有豆子的最小代价&#xff0c;然后发现最后一个是左端点或者右端点 你吃一段新的区间的同时会把…

蓝桥杯 - 穿越雷区

解题思路&#xff1a; dfs 方法一&#xff1a; import java.util.Scanner;public class Main {static char[][] a;static int[][] visited;static int[] dx { 0, 1, 0, -1 };static int[] dy { 1, 0, -1, 0 };static long min Long.MAX_VALUE;static long count 0;publi…

DFS:深搜+回溯+剪枝解决矩阵搜索问题

创作不易&#xff0c;感谢三连&#xff01;&#xff01; 一、N皇后 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<vector<string>> ret;vector<string> path;bool checkcol[9];bool checkdig1[18];bool checkdig2[18];int n…

蓝桥杯B组C++省赛——飞机降落(DFS)

题目连接&#xff1a;https://www.lanqiao.cn/problems/3511/learning/ 思路&#xff1a;由于数据范围很小&#xff0c;所有选择用DFS枚举所有飞机的所有的降落顺序&#xff0c;看哪个顺序可以让所有飞机顺利降落&#xff0c;有的话就算成功方案&#xff0c;输出了“YES”。 …

[LeetCode]516. 最长回文子序列[记忆化搜索解法详解]

最长回文子序列 LeetCode 原题链接 题目 给你一个字符串 s &#xff0c;找出其中最长的回文子序列&#xff0c;并返回该序列的长度。 子序列定义为&#xff1a;不改变剩余字符顺序的情况下&#xff0c;删除某些字符或者不删除任何字符形成的一个序列。 示例 1&#xff1a…

python coding with ChatGPT 专题1 | 树的直径

文章目录 定义题目特点 树的表示字典存储邻接表TreeNode类 深度优先 &#xff08;两次DFS法&#xff09;动态规划 &#xff08;树形DP&#xff09;优势 相似题目参考资料 定义 树上任意两节点之间最长的简单路径即为树的「直径」。 题目 给定一棵树&#xff0c;求出这棵树的…

递归|全排列

全排列一 题目描述 算法原理 我们先把决策树画出来&#xff0c;根据决策树写代码&#xff0c;然后设计函数头 dfs函数用途就是从nums数组选数填入横线 就是有三个位置&#xff0c;我们把1 2 3填进这三个位置&#xff0c;而且保证不重复。 比如我们第一冷选了1之后第二轮就不…

2024.3.22力扣每日一题——网格图中最少访问的格子数

2024.3.22 题目来源我的题解方法一 传统的深度优先遍历 超时方法二 优先队列 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2617 我的题解 方法一 传统的深度优先遍历 超时 直接从(0,0)开始深度优先遍历&#xff0c;直到遍历到(m-1,n-1)截止。 优化成记忆化搜索仍然无…

【每日算法】dfs解决迷宫问题

迷宫问题是比较基础的dfs类型算法题。主要是针对起点和终点来求解最小行走路径 这样的题目肯定是要有回溯过程&#xff0c;因为每一个节点&#xff0c;不是只走一个方向&#xff0c;是四个方向都要走到&#xff0c;才能够知道最终能否走到终点。这样的题目dfs基本框架就是&…

BM57 岛屿数量(回溯)

对数组index的判断要放前面&#xff0c;要不然报数组越界异常。 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** 判断岛屿数量* param grid char字符型二维数组 * return …

蓝桥杯刷题-06-砍树-图遍历DFS⭐⭐⭐⭐

给定一棵由 n 个结点组成的树以及 m 个不重复的无序数对 (a1, b1), (a2, b2), . . . , (am, bm)&#xff0c;其中 ai 互不相同&#xff0c;bi 互不相同&#xff0c;ai ≠ bj(1 ≤ i, j ≤ m)。 小明想知道是否能够选择一条树上的边砍断&#xff0c;使得对于每个 (ai , bi) 满足…

DFS序列

什么是DFS序 DFS序是指对一棵树进行DFS时&#xff0c;每个节点被访问到的顺序。DFS序分成两个部分&#xff1a;进入该节点的顺序和退出该节点的顺序。 如何求DFS序 对于DFS中当前节点 1&#xff1a;计数 2&#xff1a;进入当前节点的顺序等于当前计数 3&#xff1a;想所有…

LC 257.二叉树的所有路径

257. 二叉树的所有路径 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a; root [1,2,3,null,5] 输出&#xff1a;[“1->2->5”,“1->…

蓝桥杯DFS自练三题-串变换,玩具蛇,分糖果

题目一:串变换 代码解析: #include <iostream> using namespace std; struct Option{int select;int x;int y; }; string S,T; int N,K;//N是串的长度&#xff0c;K是操作指令的大小 Option opt[10];//存储所有的指令 bool vis[10];//标记数组&#xff0c;重要&#xff…

【LeetCode热题100】33. 搜索旋转排序数组(二分)

一.题目要求 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], …

图论-二分图

一、二分图判定 1.1 二分图概念及应用 1.概念 二分图的顶点集可分割为两个互不相交的子集&#xff0c;图中每条边依附的两个顶点都分属于这两个子集&#xff0c;且两个子集内的顶点不相邻。 给你一幅「图」&#xff0c;请你用两种颜色将图中的所有顶点着色&#xff0c;且使得…

一道算法题-二叉树的中序遍历

最近项目比较紧&#xff0c;忙了将近半个月&#xff0c;再加上现在看的书&#xff0c;比较难整理出技术文章。趁着过年&#xff0c;重新梳理一下2022年的规划&#xff0c;把节奏调整正常。但立的每周完成一道算法题的flag还是要实现的。 二叉树中序遍历&#xff0c;如果用递归…

DFS-0与异或问题,有奖问答,飞机降落

代码和解析 #include<bits/stdc.h> using namespace std; int a[5][5]{{1,0,1,0,1}}; //记录图中圆圈内的值&#xff0c;并初始化第1行 int gate[11]; //记录10个逻辑门的一种排列 int ans; //答案 int logic(int x, int y, int op){…

LeetCode[面试题04.12]求和路径

难度&#xff1a;Medium 题目&#xff1a; 给定一棵二叉树&#xff0c;其中每个节点都含有一个整数数值(该值或正或负)。设计一个算法&#xff0c;打印节点数值总和等于某个给定值的所有路径的数量。注意&#xff0c;路径不一定非得从二叉树的根节点或叶节点开始或结束&#x…

拓扑排序Topological sorting/DFS C++应用例题P1113 杂务

拓扑排序 拓扑排序可以对DFS的基础上做变更从而达到想要的排序效果。因此&#xff0c;我们需要xy准备&#xff0c;vis数组记录访问状态&#xff0c;每一个任务都可以在dfs的过程中完成。 在使用拓扑排序方法时一些规定&#xff1a; 通常使用一个零时栈不会直接输出排序的节点…

如何实现一个简单的深度优先搜索(DFS)算法?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 实现深度优先搜索⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前…

---图的遍历和最小生成树

广度优先遍历 --- 针对的是顶点遍历 深度优先遍历 如果给的图不是连通图&#xff1f;以某个点为起点就没有遍历完成。那么怎么保证遍历完剩下的点呢&#xff1f;&#xff1f; 在标记数组当中找没有遍历过的点&#xff0c;在进行遍历 最小生成树 生成树&#xff1a;一个连通…

2022 icpc 沈阳站 L. Tavern Chess -dfs大模拟

题面 分析 大模拟&#xff0c;范围很小&#xff0c;可以直接用dfs进行模拟&#xff0c;唯一的坑就是可能误以为只需要暴搜统计最后的赢得次数、输的次数以及平局得次数最后再去算概率&#xff0c;但是这样是不对的&#xff0c;假如一种情况是进行到第5轮结束&#xff0c;结果…

蓝桥杯刷题 深度优先搜索-[178]全球变暖(C++)

题目描述 你有一张某海域 NN 像素的照片&#xff0c;”.”表示海洋、”#”表示陆地&#xff0c;如下所示&#xff1a; … .##… .##… …##. …####. …###. … 其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿&#xff0c;例如上图就有 2 座岛屿。 由于全球变暖…

【打卡】牛客网:BM59 N皇后问题

自己写的&#xff1a; ①想自己定义结构体node&#xff0c;发现find函数太麻烦。看了眼模板&#xff0c;就用一个vector<int>记录行号就行&#xff0c;索引自然而然就是列号。 ②想用for循环写&#xff08;未通过&#xff09; 还在想这和模拟差不多。后来才意识到&…

[C++][算法基础]n-皇后问题(DFS)

n−皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上&#xff0c;使得皇后不能相互攻击到&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n&#xff0c;请你输出所有的满足条件的棋子摆法。 输入格式 共一行&#xff0c;包含整数 n。 输出…

[C++][算法基础]排列数字(DFS)

给定一个整数 n&#xff0c;将数字 1∼n 排成一排&#xff0c;将会有很多种排列方法。 现在&#xff0c;请你按照字典序将所有的排列方法输出。 输入格式 共一行&#xff0c;包含一个整数 n。 输出格式 按字典序输出所有排列方案&#xff0c;每个方案占一行。 数据范围 …

每日一题 第八十七期 洛谷 [蓝桥杯 2018 省 AB] 全球变暖

[蓝桥杯 2018 省 AB] 全球变暖 题目描述 你有一张某海域 N N N \times N NN 像素的照片&#xff0c;. 表示海洋、 # 表示陆地&#xff0c;如下所示&#xff1a; ....... .##.... .##.... ....##. ..####. ...###. .......其中 “上下左右” 四个方向上连在一起的一片陆地组…

【图论】图的存储--链式前向星存图法以及深度优先遍历图

图的存储 介绍 无向图-就是一种特殊的有向图-> 只用考虑有向图的存储即可 有向图 邻接矩阵邻接表 邻接表 存储结构: (为每一个点开了一个单链表,存储这个点可以到达哪个点) 1:3->4->null2:1->4->null3:4->null4:null 插入一条新的边 比如要插一条边&am…

【刷题】备战蓝桥杯 — dfs 算法

送给大家一句话&#xff1a; 风度真美&#xff01; 即使流泪&#xff0c;也要鼓掌&#xff0c; 即使失望&#xff0c;也要满怀希望。 ——刘宝增 dfs 算法 1 前言2 洛谷 P1030 [NOIP2001 普及组] 求先序排列题目描述算法思路 3 洛谷 P1294 高手去散步题目描述算法思路 4 蓝桥…

蓝桥杯备考day3

1.1 DFS模板&#xff08;深度优先遍历&#xff09; 模板 全局状态变量 void dfs(当前状态) {if(当前状态是目标状态) // 判断进行相应处理&#xff08;输出当前解、更新最优解、退出返回等&#xff09;// 扩展for(所有可行的新状态){if(新状态没有访问过 && 需要访问…

【LeetCode热题100】【二叉树】二叉树的右视图

题目链接&#xff1a;199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 要找从右边看树能看到的节点&#xff0c;也就是每一层的节点都只能看到最右边的那个&#xff0c;可以从右子树开始深度遍历&#xff0c;先装进来&#xff0c;遍历完右子树的&#xff0c;开始…

机器人路径规划:基于Q-learning算法的移动机器人路径规划(可以更改地图,起点,终点),MATLAB代码

一、Q-learning算法 Q-learning算法是强化学习算法中的一种&#xff0c;该算法主要包含&#xff1a;Agent、状态、动作、环境、回报和惩罚。Q-learning算法通过机器人与环境不断地交换信息&#xff0c;来实现自我学习。Q-learning算法中的Q表是机器人与环境交互后的结果&#…

LeetCode 每日一题 ---- 【1766. 互质树】

LeetCode 每日一题 ---- 【1766. 互质树】 1766.互质树方法一&#xff1a;预处理DFS 1766.互质树 方法一&#xff1a;预处理DFS 对于节点 x&#xff0c;我们需要计算节点值与 nums[x] 互质的最近祖先节点是哪个。 最暴力的做法是&#xff0c;枚举 x 的所有祖先节点。但如果这…

深入探索C语言中的二叉树:数据结构之旅

引言 在计算机科学领域&#xff0c;数据结构是基础中的基础。在众多数据结构中&#xff0c;二叉树因其在各种操作中的高效性而脱颖而出。二叉树是一种特殊的树形结构&#xff0c;每个节点最多有两个子节点&#xff1a;左子节点和右子节点。这种结构使得搜索、插入、删除等操作…

力扣98. 验证二叉搜索树

深度优先遍历 思路&#xff1a; 根据二叉搜索树特性&#xff0c;通过中序遍历得到有序序列&#xff0c;验证序列是否有序来判断&#xff1b;中序遍历使用栈通过深度优先遍历&#xff1b; /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tre…

LintCode 123 · Word Search (DFS字符处理经典题!)

123 Word Search Algorithms Medium Description Given a 2D board and a string word, find if the string word exists in the grid. The string word can be constructed from letters of sequentially adjacent cell, where “adjacent” cells are those horizontally o…

1329:【例8.2】细胞 广度优先搜索

1329&#xff1a;【例8.2】细胞 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 一矩形阵列由数字0 到9组成,数字1到9 代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如: 4 10 0234500067 1034560500 2045600671 00000000…

算法竞赛备赛进阶之数位DP训练

数位DP的思想就是对每一位进行DP&#xff0c;计算时记忆化每一位可以有的状态&#xff0c;其作用是减少运算时间&#xff0c;避免重复计算。 数位DP是一种计数用的DP&#xff0c;一般就是要统计一个区间[A,B]内满足一些条件数的个数。 以1e9甚至1e18、1e100的问题为例&#x…

力扣hot100 分割回文串 集合 dfs

Problem: 131. 分割回文串 文章目录 思路Code&#x1f496; DP预处理版 思路 &#x1f468;‍&#x1f3eb; 参考题解 Code import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.List;public class Solution {int n;//字符…

搜索<2>——记忆化搜索与剪枝

Part 1:记忆化搜索 记忆化搜索其实就是拿个数组记录下已经得到的值&#xff0c;这样再遇到的时候直接调用即可。 P1464: 虽然此题好像不用记忆化也行&#xff0c;但我们还是老老实实写个记忆化吧。没什么困难的地方&#xff0c;就是它叫你怎么干你就怎么干&#xff0c;记得开…

数据结构——6.3 图的遍历

6.3 图的遍历 一、概念 图的广度优先遍历 树的广度优先遍历&#xff08;层序遍历&#xff09;&#xff1a;不存在“回路”&#xff0c;搜索相邻的结点时&#xff0c;不可能搜到已经访问过的结点&#xff1a; 若树非空&#xff0c;则根节点入队 若队列非空&#xff0c;队头元素…

图论之dfs与bfs的练习

dfs--深度优选搜索 bfs--广度优先搜索 迷宫问题--dfs 问题&#xff1a; 给定一个n*m的二维迷宫数组其中S是起点&#xff0c;T是终点&#xff0c;*是墙壁&#xff08;无法通过&#xff09;&#xff0c; .是道路 问从起点S出发沿着上下左右四个方向走&#xff0c;能否走到T点&a…

[蓝桥杯2015初赛]生命之树 (树形dp)

题目描述 在X森林里&#xff0c;上帝创建了生命之树。 他给每棵树的每个节点(叶子也称为一个节点)上&#xff0c;都标了一个整数&#xff0c;代表这个点的和谐值。 上帝要在这棵树内选出一个非空节点集S&#xff0c;使得对于S中的任意两个点a,b&#xff0c;都存在一个点列 {a,…

蓝桥杯 9241.飞机降落

这道题本来作者以为是可以用一些小技巧进行暴力解法的&#xff0c;但是后来试了一下&#xff0c;不能过去全部数据。 下面是对半个的题解&#xff1a; #include<iostream> #include<stdio.h> #include<cstring> #include<cstdlib> #include<cmath…

Unity性能优化篇(十一) 动画优化

1.恰当地设置Animator组件的Culling Mode。Always Animate表示如果该动画不可见&#xff0c;也会播放它。Cull Update Transformations表示如果该动画不可见&#xff0c;则不会渲染该动画&#xff0c;但是依然会根据该动画的播放来改变游戏对象的位置、旋转、缩放&#xff0c;这…

Acwing 1113. 红与黑 BFS与DFS

题目描述 有一间长方形的房子&#xff0c;地上铺了红色、黑色两种颜色的正方形瓷砖。 你站在其中一块黑色的瓷砖上&#xff0c;只能向相邻&#xff08;上下左右四个方向&#xff09;的黑色瓷砖移动。 请写一个程序&#xff0c;计算你总共能够到达多少块黑色的瓷砖。 输入格…

力扣题目训练(18)

2024年2月11日力扣题目训练 2024年2月11日力扣题目训练561. 数组拆分566. 重塑矩阵572. 另一棵树的子树264. 丑数 II274. H 指数127. 单词接龙 2024年2月11日力扣题目训练 2024年2月11日第十八天编程训练&#xff0c;今天主要是进行一些题训练&#xff0c;包括简单题3道、中等…

[leetcode~dfs]1261. 在受污染的二叉树中查找元素

给出一个满足下述规则的二叉树&#xff1a; root.val 0 如果 treeNode.val x 且 treeNode.left ! null&#xff0c;那么 treeNode.left.val 2 * x 1 如果 treeNode.val x 且 treeNode.right ! null&#xff0c;那么 treeNode.right.val 2 * x 2 现在这个二叉树受到「污…

C#,图论与图算法,有向图(Directed Graph)的环(Cycle)的普通判断算法与源代码

1 检查该图是否包含循环 给定一个有向图,检查该图是否包含循环。如果给定的图形至少包含一个循环,则函数应返回true,否则返回false。 方法:深度优先遍历可用于检测图中的循环。连接图的DFS生成树。只有当图中存在后缘时,图中才存在循环。后边是从节点到自身(自循环)或…

面试算法-67-完全二叉树的节点个数

题目 给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最左边的若干位置…

leetcode106从中序与后序遍历序列构造二叉树

目录 1.解题关键2.思路3.变量名缩写与英文单词对应关系4.算法思路图解5.代码 本文针对原链接题解的比较晦涩的地方重新进行说明解释 原题解链接&#xff1a;https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/solutions/50561/tu-jie-…

5465: 【搜索】奶牛干饭

题目描述 农场主John把农场分为了一个 r 行 c 列的矩阵&#xff0c;并发现奶牛们无法通过其中一些区域。此刻&#xff0c;Bessie 位于坐标为 (1,1) 的区域&#xff0c;并想到坐标为 (r,c) 的牛棚享用晚餐。她知道&#xff0c;以她所在的区域为起点&#xff0c;每次移动至相邻的…

【算法】回溯与深搜

方法论 1.构建决策树 2.设计代码&#xff1a;全局变量、dfs函数 3.剪枝&#xff0c;回溯 全排列 给定一个不含重复数字的整数数组 nums &#xff0c;返回其 所有可能的全排列 。可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff…

洛谷刷题 | B3622 枚举子集

枚举子集 题目描述 今有 n n n 位同学&#xff0c;可以从中选出任意名同学参加合唱。 请输出所有可能的选择方案。 输入格式 仅一行&#xff0c;一个正整数 n n n。 输出格式 若干行&#xff0c;每行表示一个选择方案。 每一种选择方案用一个字符串表示&#xff0c;其…

洛谷刷题 | B3623 枚举排列

枚举排列 题目描述 今有 n n n 名学生&#xff0c;要从中选出 k k k 人排成一列拍照。 请按字典序输出所有可能的排列方式。 输入格式 仅一行&#xff0c;两个正整数 n , k n, k n,k。 输出格式 若干行&#xff0c;每行 k k k 个正整数&#xff0c;表示一种可能的队…

AcWing 687. 扫雷(每日一题)

原题链接&#xff1a;687. 扫雷 - AcWing题库 题目&#xff1a; 扫雷是一种计算机游戏&#xff0c;在 20 世纪 80 年代开始流行&#xff0c;并且仍然包含在某些版本的 Microsoft Windows 操作系统中。 在这个问题中&#xff0c;你正在一个矩形网格上玩扫雷游戏。 最初网格内…

算法沉淀 —— 深度搜索(dfs)

算法沉淀 —— 深度搜索&#xff08;dfs&#xff09; 一、计算布尔二叉树的值二、求根节点到叶节点数字之和三、二叉树剪枝四、验证二叉搜索树五、二叉搜索树中第K小的元素 一、计算布尔二叉树的值 【题目链接】&#xff1a;2331. 计算布尔二叉树的值 【题目】&#xff1a; …

第十四届省赛大学B组(C/C++)岛屿个数

目录 题目链接&#xff1a;岛屿个数 解题思路&#xff1a; AC代码&#xff08;BFSDFS&#xff09;&#xff1a; 题目链接&#xff1a;岛屿个数 小蓝得到了一副大小为 MN 的格子地图&#xff0c;可以将其视作一个只包含字符 0&#xff08;代表海水&#xff09;和 1&#xff0…

2024年重庆交通大学第十五届蓝桥杯测试赛2题解Java版

A. 两双鞋换着穿 题目描述: 小蓝有两双不同的鞋,可以换着穿,一双鞋,可以穿1天就换另一双,也可以连续穿2天再换另一双,但同一双鞋不能连续穿3天。用这两双鞋搭配穿n天,总共有多少种不同的方案。两种方案,只要有一天穿的鞋子不一样,就认为是不同的方案。用A、B代表这两…

搜索--找出克隆二叉树中的相同节点

题目描述 给你两棵二叉树&#xff0c;原始树 original 和克隆树 cloned&#xff0c;以及一个位于原始树 original 中的目标节点 target。 其中&#xff0c;克隆树 cloned 是原始树 original 的一个 副本 。 请找出在树 cloned 中&#xff0c;与 target 相同 的节点&#xff…

掌握机器学习新星:使用Python和Scikit-Learn进行图像识别

正文&#xff1a; 随着智能手机和社交媒体的普及&#xff0c;图像数据的生成速度比以往任何时候都快。为了自动化处理这些数据&#xff0c;我们需要强大的图像识别系统。机器学习提供了一种有效的方法来识别和分类图像中的对象。Scikit-Learn是一个流行的Python库&#xff0c;它…

【学习笔记】CF1935F Andrey‘s Tree

发个博客&#xff0c;证明我还活着。 答案很显然&#xff0c;根据 kruskal \text{kruskal} kruskal算法&#xff0c;尽量连 ( i , i 1 ) (i,i1) (i,i1)是最优的&#xff0c;难点在于输出方案。下文设删掉的节点是 v v v。 正常的做法是从小到大依次判断 ( i , i 1 ) (i,i1)…

算法刷题day39:树形DP

目录 引言一、病毒溯源二、没有上司的舞会三、生命之树四、树的重心 引言 今天写了个树形DP&#xff0c;就是在树上的DP&#xff0c;其实每道题的总体是一样的&#xff0c;从代码上都能看出来&#xff0c;其实写多了感觉就是背之前写过的代码&#xff0c;其实也就是别人写过的…

第十四届蓝桥杯C/C++大学B组题解(一)

1、日期统计 #include <bits/stdc.h> using namespace std; int main() {int array[100] {5, 6, 8, 6, 9, 1, 6, 1, 2, 4, 9, 1, 9, 8, 2, 3, 6, 4, 7, 7,5, 9, 5, 0, 3, 8, 7, 5, 8, 1, 5, 8, 6, 1, 8, 3, 0, 3, 7, 9,2, 7, 0, 5, 8, 8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6,…

14届蓝桥杯省赛 C/C++ B组 T4 飞机降落 (DFS)

记录此题提醒自己&#xff0c;此类时间轴问题可以通过DFS解决 DFS不是能解决所有题吗 对于此题&#xff0c;我们将降落的飞机的个数和时间轴作为DFS的形参&#xff0c;这样可以节省手动回溯的过程。 并且在DFS的过程中我们要加入一些贪心策略&#xff0c;否则直接爆搜有可能搜…

LeetCode 1600.王位继承顺序:深度优先搜索(DFS)

【LetMeFly】1600.王位继承顺序&#xff1a;深度优先搜索(DFS) 力扣题目链接&#xff1a;https://leetcode.cn/problems/throne-inheritance/ 一个王国里住着国王、他的孩子们、他的孙子们等等。每一个时间点&#xff0c;这个家庭里有人出生也有人死亡。 这个王国有一个明确…

信息工程大学第五届超越杯程序设计竞赛(同步赛)vp

目录 信息工程大学第五届超越杯程序设计竞赛&#xff08;同步赛&#xff09;_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.遗失的旋律 C.财政大臣 D.实验室有多少人 E.在雾中寻宁静 F.不规则的轮回 G.完美数字 M.Monikas game A.遗失的旋律 思路&#xf…

红与黑(bfs + dfs 解法)(算法图论基础入门)

红与黑问题 文章目录 红与黑问题前言问题描述bfs 解法dfs 解法 前言 献给阿尔吉侬的花束( 入门级bfs查找 模版解读 错误示范 在之前的博客当中&#xff0c;详细地介绍了这类题目的解法&#xff0c;今天为大家带来一道类似的题目练练手&#xff0c;后续还会更新更有挑战的题目…

图论第四天|127. 单词接龙、841. 钥匙和房间、463. 岛屿的周长

127. 单词接龙 ★ 文档讲解 &#xff1a;代码随想录 - 127. 单词接龙 状态&#xff1a;开始学习。&#xff08;★&#xff1a;需要多次回顾并重点回顾&#xff09; 思路&#xff1a; 本题需要解决两个问题&#xff1a; 图中的线是如何连在一起的 题目中并没有给出点与点之间的…

力扣200岛屿数量解法3种

DFS BFS 并查集 三种方式解决岛屿问题 import java.util.*; public class Edit {//并查集版本public int numIslandsUnion(char[][] grid) {UnionSet unionfind new UnionSet(grid);//unionfind.UnionSet(grid);for(int clow1;clow<unionfind.clow;clow){if(grid[0][clow-…

LeetCode 753. 破解保险箱【欧拉回路,DFS】困难

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

DFS 模板:843. n-皇后问题

n−n−皇后问题是指将 nn 个皇后放在 nnnn 的国际象棋棋盘上&#xff0c;使得皇后不能相互攻击到&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 nn&#xff0c;请你输出所有的满足条件的棋子摆法。 输入格式 共一行&#xff0c;包含整数 n…

有向图计数优化版原理及C++实现

题目 见前面章节。有向图访问计数的原理及C实现-CSDN博客 第一版 不需要拓扑排序&#xff0c;也不需要并集查找&#xff0c;直接dfs了。完成以下三个职责&#xff1a; 一&#xff0c;DFS那些端点在环上。 二&#xff0c;DFS环上各点此环的长度。 三&#xff0c;DFS非环上各点…

【LeetCode: 572. 另一棵树的子树 + 二叉树 + dfs】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

代码随想录图论 第一天 | 797.所有可能的路径 200. 岛屿数量

代码随想录图论 第一天 | 797.所有可能的路径 200. 岛屿数量 一、797.所有可能的路径 题目链接&#xff1a;https://leetcode.cn/problems/all-paths-from-source-to-target/ 思路&#xff1a;求从0到n-1的所有路径&#xff0c;终止条件是当前节点为n-1。本题图的结构是group…

正则问题【蓝桥杯】/dfs

正则问题 dfs 刚开始用的是栈&#xff0c;没有想到dfs… #include<iostream> #include<stack> using namespace std; string s; int pos; int dfs() {//ans表示到当前位置最多的x数目//num表示暂存的x数目int num0,ans0;while(pos<s.size()){if(s[pos](){pos;…

【算法每日一练]-图论(保姆级教程篇7 最小生成树 ,并查集模板篇)#村村通 #最小生成树

目录 题目&#xff1a;村村通 并查集 题目&#xff1a;最小生成树 kruskal算法 prim算法 先引入问题&#xff1a; 要在n个城市之间铺设光缆&#xff0c;主要目标是要使这 n 个城市的任意两个之间都可以通信&#xff0c;但铺设光缆的费用很高&#xff0c;且各个城市之间铺…

DFS:记忆化搜索

​​​​​​​ 一、记忆化搜索vs动态规划 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public://记忆化搜索//1、设置一个备忘录&#xff0c;要确保备忘录初始化的结果不能跟我们实际计算的结果相同//2、添加备忘录&#xff0c;计算的时候&#xff0c;如果备…

深度优先搜索算法C实现

深度优先搜索 (DFS, Depth-First Search) 是一种用于遍历或搜索树或图的算法。这个算法会尽可能深地搜索树的分支。当达到树的末端时,它会回溯到树的前一个节点,直到找到未探索的路径。 下面是一个简单的深度优先搜索的C语言实现,这个实现是在一个无向图中进行的。在这个例…

【Leetcode每日一题】 递归 - 二叉树剪枝(难度⭐⭐)(50)

1. 题目解析 题目链接&#xff1a;814. 二叉树剪枝 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 想象一下&#xff0c;你有一堆层层叠叠的积木&#xff0c;你想从底部开始&#xff0c;把那些标记为0的积木拿走。如…