dfs

2024/4/11 23:19:48

POJ 3140 树形dp

题意:一棵n个结点的带权无根树,从中删去一条边,使得剩下来的两棵子树的节点权值之和的绝对值最小,并求出得到的最小绝对值。 水题,首先把每棵子树的权值之和处理出来,在dfs一次做一下比较就好 #include &l…

PAT甲级真题 1106 Lowest Price in Supply Chain (25分) C++实现(dfs)

题目 A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer. Starting from one root s…

acwing843 n-皇后问题(dfs+剪枝)

题面 题解1(逐一搜索) 对于n皇后问题,我们知道不能有两个皇后在同一行同一列和同一对角线上,那么我们就可以按顺搜索每一个位置,然后这个位置有两种放置方式(放皇后或者不放皇后) 对于不放皇后的…

LeetCode 679. 24 点游戏

原题目:https://leetcode-cn.com/problems/24-game/ 思路: 采用枚举的思路,第一次去两个数进行四则运算12*4,第二次取取个数进行四则运算6*4,第三次取两个数进行运算2*4 注意:减法和除法 依赖于 操作顺序…

Python - 求数组的全排列

一.引言 给定一个正整数 N,输出数列 1,2,3,...,N 的全排列。简单分析一下,N 个正整数,总共满足的可能性为 N! N * (N-1) * ... * 1。通过遍历每一个位置,分别放置不同的数字即可达到问题要求。 先用一个最 for 的方案…

POJ-棋盘问题

棋盘问题Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 49502 Accepted: 23966Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列&a…

杭电ACM——TempterofTheBone(搜索)

(重新看了一下老久以前的代码,被自己吓了一跳。。。这,字也太多了吧。。。所以如果觉得太繁琐了了不想看,最后面还有一个代码,看着可能会比较舒服) 这是一道有趣的迷宫题,也是一道搜索的题目&a…

搜索(DFS BFS)专题练习

好长时间没有做搜索的题目了,今天做题遇见一个有点生疏,就做一个专题训练熟悉一下。 NC14572 走出迷宫 题意:很简单的问题,就是一个地图,上面S是入口,然后E是出口。#代表陷阱不能走,问我们是否…

Leetcode-树-538. 把二叉搜索树转换为累加树(简单)

538. 把二叉搜索树转换为累加树题目如下解题思路解题代码题目如下 解题思路 反序中序遍历 简单的六个字藏着无限的智慧,大家自行斟酌呀! 解题代码 class Solution { public:int sum 0;TreeNode* convertBST(TreeNode* root) {if (root ! nullptr) {c…

全排列2(回溯去重)

给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 int cmp(const void*a,const void*b){int*m(int*)a;int*n(int*)b;return *m-*n; } void DFS(int *nums, int numsSize, int depth, int *path, int *use, int **res,int*returnSize) {if …

2021.8.12携程笔试第三题:建树游戏DFS

2021.8.12携程笔试 讨论区 在做最后一题的时候把题意看错了,悔之莫及,故记录此文引以为戒! 建树游戏 问题描述 有n个节点和n-1条边,形成一棵树,每个节点有一个权值。把其中一条边删除就形成了两棵树,在…

【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) …

深度优先搜索剪枝--xiaozhui

题目&#xff1a; HDU - 1010 Tempter of the Bone本人今天第一次学剪枝&#xff0c;成功ac和大家分享学习成果。这道题我是用深度优先搜索来解题的但是只用搜索的话 提交就 TLE 今天做这道题纠结了一个下午&#xff0c;最后终于solve了呵呵 这题用到了奇偶剪枝 奇偶剪枝就…

HDU-2181 哈密顿绕行世界问题(DFS)

一个规则的实心十二面体&#xff0c;它的 20个顶点标出世界著名的20个城市&#xff0c;你从一个城市出发经过每个城市刚好一次后回到出发的城市。 Input前20行的第i行有3个数,表示与第i个城市相邻的3个城市.第20行以后每行有1个数m,m<20,m>1.m0退出. Output输出从第m个城…

PTA-列出连通集(DFS+BFS)

列出连通集 (25分) 给定一个有NN个顶点和EE条边的无向图&#xff0c;请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N-1N−1编号。进行搜索时&#xff0c;假设我们总是从编号最小的顶点出发&#xff0c;按编号递增的顺序访问邻接点。 输入格式: 输入第1行给出2个整数NN(…

第11届蓝桥杯省模拟赛

个人答案情况&#xff0c;如有错误还请指点 你小小的一个点赞&#xff0c;却是我人生路上的巨大鼓励 1题 //问题描述 //  将LANQIAO中的字母重新排列&#xff0c;可以得到不同的单词&#xff0c;如LANQIAO、AAILNOQ等&#xff0c;注意这7个字母都要 //被用上&#xff0c;单…

SDUT-3361 数据结构实验之图论四:迷宫探索

数据结构实验之图论四&#xff1a;迷宫探索Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description有一个地下迷宫&#xff0c;它的通道都是直的&#xff0c;而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关&#xff1b;请问如何从某个…

LeetCode 341. 扁平化嵌套列表迭代器

原题目&#xff1a;https://leetcode-cn.com/problems/flatten-nested-list-iterator/ 思路&#xff1a;深度搜索 代码&#xff1a; class NestedIterator {vector<int> ans;int index 0;void dfs(vector<NestedInteger> &nestedList){for(int i0;i<neste…

算法-遍历二叉树-前序+中序+后序 DFS

一.算法要求 给定一棵二叉树&#xff0c;分别使用前序&#xff0c;中序&#xff0c;后序遍历二叉树 二.二叉树遍历 1.定义 二叉树是n个有限元素的集合&#xff0c;该集合或者为空、或者由一个称为根&#xff08;root&#xff09;的元素及两个不相交的、被分别称为左子树和右…

leetcode[993]二叉树的堂兄弟节点 Python3实现(dfs查找深度和父节点)

# 在二叉树中&#xff0c;根节点位于深度 0 处&#xff0c;每个深度为 k 的节点的子节点位于深度 k1 处。 # # 如果二叉树的两个节点深度相同&#xff0c;但 父节点不同 &#xff0c;则它们是一对堂兄弟节点。 # # 我们给出了具有唯一值的二叉树的根节点 root &#xff0…

剑指 offer acwing 23 矩阵中的路径 (DFS)

题面 题解 DFS搜索简单题&#xff0c;我们以二维矩阵的每一个点为起点&#xff0c;然后开始dfs&#xff0c;只要有一种情况满足就可以返回true 代码 class Solution { public:bool dfs(vector<vector<char>> &matrix, string &str, int len, int x, int y…

leetcode 子集

leetcode 题目链接 1. 题目考点 dfs 回溯找结束条件 2. 考点解析 结束条件包含在for边界中 class Solution {List<List<Integer>> res new ArrayList<>();public List<List<Integer>> subsets(int[] nums) {Stack<Integer> path ne…

LeetCode 329. Longest Increasing Path in a Matrix

原题目&#xff1a;https://leetcode-cn.com/problems/longest-increasing-path-in-a-matrix/ 思路&#xff1a; 对所有的节点进行遍历&#xff0c;返回最大值。 为节省时间&#xff0c;采用记忆化保存求解过的节点。 代码&#xff1a; class Solution { public:static cons…

全排列(回溯)

给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 思路&#xff1a;回溯 int all;//排列总数 void DFS(int *nums, int numsSize, int depth, int *path, int *use, int **res) {if (depth numsSize) {//当前深度达到总…

[剑指offer]JT24---二叉树中和为某一值的路径(答应我,不要放弃,把树跑完就行了)

剑指offer第二十四题题目如下c关键字之using思路与代码题目如下 c关键字之using #define DString std::string //! 不建议使用&#xff01;typedef std::string TString; //! 使用typedef的方式using Ustring std::string; //&#xff01;使用 using typeName_self s…

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 组合总和II

leetcode题目链接 1. 题目考点 dfs 剪枝回溯 1. 考点解析 回溯 剪枝 class Solution {List<List<Integer>> res new ArrayList<>();public List<List<Integer>> combinationSum(int[] candidates, int target) {Arrays.sort(candidates)…

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

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

leetcode 组合总和III

leetcode题目链接 1. 题目考点 dfs 回溯 剪枝画图分析 2. 考点解析 数组无重复 无重复数字 组合无重复 class Solution {List<List<Integer>> res new ArrayList<>();public List<List<Integer>> combinationSum3(int k, int n) {Stack…

数据结构实验之栈与队列十:走迷宫

数据结构实验之栈与队列十&#xff1a;走迷宫 Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description 一个由n * m 个格子组成的迷宫&#xff0c;起点是(1, 1)&#xff0c; 终点是(n, m)&#xff0c;每次可以向上下左右四个方向任意走一步&#xff0c;…

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

深度优先搜索 深度优先搜索 (DFS, Depth-First Search) 是搜索的手段之一 。 它从某个状态开始&#xff0c; 不断地转移状态直到无法转移&#xff0c;然后回退到前一步的状态&#xff0c;继续转移到其他状态&#xff0c;如此不断重复&#xff0c;直至找到最终的解。例如求解数独…

AcWing第23场周赛 4004. 传送阵 题解

4004. 传送阵 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/description/4007/ 输入样例1&#xff1a; 5 1 1 5 5 00001 11111 00111 00110 00110输出样例1&#xff1a; 10输入样例2&#xff1a; 3 1 3 3 1 010 101 010输出样例2&#xff1a; 8输入…

acwing 167 木棒(DFS剪枝)

题面 题解 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm>using namespace std; const int N70;int n; int w[N],sum,length; bool st[N];bool dfs(int u,int s,int strat){if(u*lengthsum…

图的基本算法(BFS和DFS)

图的基本算法&#xff08;BFS和DFS&#xff09; 卡巴拉的树 关注 2016.07.29 16:43* 字数 1103 阅读 24659评论 22喜欢 69赞赏 2 图是一种灵活的数据结构&#xff0c;一般作为一种模型用来定义对象之间的关系或联系。对象由顶点&#xff08;V&#xff09;表示&#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…

C/C++每日一练(20230326) 二叉树专场(3)

目录 1. 二叉树的前序遍历 &#x1f31f;&#x1f31f; 2. 二叉树的最大深度 &#x1f31f; 3. 有序数组转换为二叉搜索树 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Ja…

Leetcode-图-133.克隆图(中等)

133. 克隆图题目如下解题思路c代码题目如下 解题思路 为了避免重复的递归&#xff0c;我们使用哈希表存下已经递归过的节点 c代码 /* // Definition for a Node. class Node { public:int val;vector<Node*> neighbors;Node() {val 0;neighbors vector<Node*>…

usaco training 6.5 棋盘挑战 DFS

原题链接 思路 1.dfs经典题N-皇后问题的变形&#xff0c;用全排列的方式来枚举&#xff0c;记录结果即可 2.我们可以发现&#xff0c;对于N*N的棋盘&#xff0c;正好放N个&#xff0c;每行一个&#xff0c;然后枚举每行放置的位置并记录 3.满足什么条件就可以放&#xff0c;就是…

利用回溯的深度优先遍历找出基于邻接表存储的图中一个顶点到另一个顶点的所有简单路径

邻接表存储方法 对图中的每个顶点 i 建立单链表&#xff0c;将i的所有邻接点链起来。 每个单链表添加一个表头节点(表示顶点信息)。并将所有的表头节点构成一个数组&#xff0c;下标为 i 的元素表示顶点 i 的表头节点。 存储类型定义如下 typedef struct ANode {int adjvex; …

数据结构第7章 图

文章目录图的定义和术语图的存储结构邻接矩阵表示法邻接表表示法邻接矩阵与邻接表表示法的关系图的遍历深度优先搜索( DFS ——Depth First Search)基于邻接矩阵的DFS算法基于邻接表的DFS算法的实现广度优先搜索( BFS——Breadth First Search)基于邻接表的BFS算法的实现有向无…

飞行员兄弟,四种ac代码

题目描述&#xff1a; “飞行员兄弟”这个游戏&#xff0c;需要玩家顺利的打开一个拥有16个把手的冰箱。 已知每个把手可以处于以下两种状态之一&#xff1a;打开或关闭。 只有当所有把手都打开时&#xff0c;冰箱才会打开。 把手可以表示为一个4х4的矩阵&#xff0c;您可…

1053 Path of Equal Weight (30分)

原题链接 难 但是我今天懒的写思路题解555 DFS: #include <iostream> #include <algorithm> #include <stack> #include <queue> #include <vector> using namespace std; const int maxn 10010; vector<int> temp; int w[maxn]; int n,…

Spring Boot 的接口限流算法优缺点深度分析

点击上方蓝色“猿芯”关注&#xff0c;输入1024&#xff0c;你懂的 前言 在一个高并发系统中对流量的把控是非常重要的&#xff0c;当巨大的流量直接请求到我们的服务器上没多久就可能造成接口不可用&#xff0c;不处理的话甚至会造成整个应用不可用。 那么何为限流呢&#xff…

AcWing 3384:二叉树遍历(依先序序列建树,输出中序序列) ← DFS

【题目来源】https://www.acwing.com/problem/content/3387/【题目描述】 编写一个程序&#xff0c;读入用户输入的一串先序遍历字符串&#xff0c;根据此字符串建立一个二叉树&#xff08;以指针方式存储&#xff09;。 例如如下的先序遍历字符串&#xff1a;abc##de#g##f###&…

《算法通关之路》-chapter16一些有趣的题目

《算法通关之路》学习笔记&#xff0c;记录一下自己的刷题过程&#xff0c;详细的内容请大家购买作者的书籍查阅。 多数元素 II 力扣第229题 给定一个大小为 n 的整数数组&#xff0c;找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 方法一&#xff1a;摩尔投票法时间复杂度&…

深度优先搜索算法(DFS)

本文目录1. DFS算法一般步骤2. 数独3. 部分和4. 水洼数目5. n皇后问题6. 素数环7. 困难的串1. DFS算法一般步骤 void dfs(int step) {if(边界成立){走到最深处。。。。。。return;}for(尝试每一种可能的状态){if(如果这种状态可行){ //剪枝把这种可能的状态标记&#xff0c;表…

Leetcode-树-100.相同的树(简单)

100.相同的树题目如下解题思路c代码题目如下 解题思路 这个题目是用来认识树的&#xff0c;不要觉得它很神秘&#xff0c;比较树&#xff0c;我们用到了递归&#xff0c;通过递归层层分工&#xff0c;代码思路变成非常简单。 c代码 /*** Definition for a binary tree node.…

力扣 二叉树直径(dfs)

力扣 二叉树的直径(dfs) 题目链接&#xff1a;https://leetcode-cn.com/problems/diameter-of-binary-tree/ 题目的意思是求二叉树的直径&#xff0c;就是从任意节点出发&#xff0c;到任意节点结束&#xff0c;最长的那一条路径&#xff0c;也就是这条路上经过节点的数量减去1…

Leetcode-搜索-130.被围绕的区域(中等)

130. 被围绕的区域题目如下解题思路dfs-c代码(深搜)bfs-c代码(广搜)提交对比题目如下 解题思路 不被包围的肯定有一边在边界&#xff0c;所以我们从边界遍历&#xff0c;边界遍历可以碰到的0是不会被改变的&#xff0c;里面遍历不到的说明肯定被包围了 1.深度优先搜索&#xf…

Leetcode-树-968. 监控二叉树(困难)

968. 监控二叉树题目如下解题思路c代码题目如下 解题思路 把每个节点分为3个状态来做 0&#xff1a;未被覆盖 1&#xff1a;已被覆盖 2&#xff1a;需放置摄像头 后序遍历 c代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *…

SDUT-2138 数据结构实验之图论三:判断可达性(DFS)

数据结构实验之图论三&#xff1a;判断可达性Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description在古老的魔兽传说中&#xff0c;有两个军团&#xff0c;一个叫天灾&#xff0c;一个叫近卫。在他们所在的地域&#xff0c;有n个隘口&#xff0c;编号…

SDUT-1269 走迷宫(DFS)(JAVA*)

走迷宫Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description有一个m*n格的迷宫&#xff08;表示有m行、n列&#xff09;&#xff0c;其中有可走的也有不可走的&#xff0c;如果用1表示可以走&#xff0c;0表示不可以走&#xff0c;输入这m*n个…

PTA-输出全排列(DFS)

请编写程序输出前n个正整数的全排列&#xff08;n<10&#xff09;&#xff0c;并通过9个测试用例&#xff08;即n从1到9&#xff09;观察n逐步增大时程序的运行时间。 输入格式: 输入给出正整数n&#xff08;<10&#xff09;。 输出格式: 输出1到n的全排列。每种排列占一…

[BFS和DFS的故事]LC111---二叉树的最小深度(DFS注意只有一条分支的情况)

LeetCode111题目如下思路分析代码如下题目如下 思路分析 在学习锅二叉树的最大深度之后&#xff0c;这个题目就有点意思了&#xff0c;是不是直接把递归中的max换成min就可以了呢&#xff1f; 题目会出现一个只有一个支路的情况&#xff0c;这个情况就是整个树的深度&#xf…

2019牛客暑期多校训练营(第二场) F Partition problem(dfs+剪枝)

链接&#xff1a;https://ac.nowcoder.com/acm/contest/882/F 题意&#xff1a;给你n&#xff0c;有2n个人&#xff0c;每两个人(假设为i,j)之间都有一个竞争值v()&#xff0c;把这2n个人分成两个团体&#xff0c;使得两团体之间的总竞争值最大。 思路&#xff1a;直接爆搜&a…

每日题解:LeetCode 1028. 从先序遍历还原二叉树

题目地址 个人博客地址 题目描述 我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处&#xff0c;我们输出 D 条短划线&#xff08;其中 D 是该节点的深度&#xff09;&#xff0c;然后输出该节点的值。&#xff08;如果节点的深度为 D&#xff0c;则其…

数据结构PTA 基础实验6-2.1 列出连通集

基础实验6-2.1 列出连通集题目解法题目 给定一个有N个顶点和E条边的无向图&#xff0c;请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时&#xff0c;假设我们总是从编号最小的顶点出发&#xff0c;按编号递增的顺序访问邻接点。 输入格式: 输入第1行…

第十届蓝桥杯省赛B组题解记录

1.组队 思路&#xff1a;从每个位置可以选取的人选入手&#xff0c;每个人选不可重复&#xff0c;组合求最大。 方法一&#xff1a;深搜dfs #include<bits/stdc.h> using namespace std; int team[20][6],maxs0,vis[20]; void dfs(int sum,int n) //sum为出场运动员的…

【LeetCode】Sama的个人记录_7

▊【Q31】(md) 下一个排列 实现获取下一个排列的函数&#xff0c;算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列&#xff0c;则将数字重新排列成最小的排列&#xff08;即升序排列&#xff09;。 必须原地修改&#xff0c;只允…

LeetCode 112. Path Sum

原题目&#xff1a;https://leetcode-cn.com/problems/path-sum/ 代码&#xff1a; class Solution { public:bool hasPathSum(TreeNode* root, int sum) {if (root NULL)return false;sum - root->val;if ((root->left NULL) && (root->right NULL))retu…

【LeetCode】Sama的个人记录_9

【Q53】(ez) 最大子序和 给定一个整数数组 nums &#xff0c;找到一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 示例:   输入: [-2,1,-3,4,-1,2,1,-5,4],   输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大&am…

【经典专题】推箱子游戏脚本——一次BFS与多次DFS

题目引入 推箱子 是一款风靡全球的益智小游戏&#xff0c;玩家需要将箱子推到仓库中的目标位置。 游戏地图用大小为 n * m 的网格 grid 表示&#xff0c;其中每个元素可以是墙、地板或者是箱子。 现在你将作为玩家参与游戏&#xff0c;按规则将箱子 ‘B’ 移动到目标位置 ‘…

671. 二叉树中第二小的节点

2021-07-27 LeetCode每日一题 链接&#xff1a;https://leetcode-cn.com/problems/second-minimum-node-in-a-binary-tree/ 标签&#xff1a;二叉树、深度优先搜索 题目 给定一个非空特殊的二叉树&#xff0c;每个节点都是正数&#xff0c;并且每个节点的子节点数量只能为 2 …

Conversion of feet/inches to meters-英尺、英里装换为米

Conversion of feet/inches to meters-英尺、英里装换为米&#xff0c;允许重复计算&#xff1a;//Conversion of feet/inches to meters-英尺、英里装换为米&#xff0c;允许重复计算 #include<iostream> #include<cmath>using namespace std;void get_input(doub…

DFS(深度优先搜索)

DFS&#xff08;Depth first search&#xff09; 适用范围&#xff1a;不重不漏地枚举到目标状态的每一条路径。 算法过程&#xff1a;对一个当前的合法状态A&#xff0c;对其所有的子状态&#xff08;子节点&#xff09;&#xff0c;按顺序选择一种进行搜索&#xff0c;递归…

7.8 dfs竞赛题----素数环(算法竞赛入门经典)

例如&#xff1a;对于序列1 4 3 2 5 6 使用深搜&#xff0c;提前将不符合要求的排序剪枝 伪代码 代码&#xff1a; import java.util.Scanner;public class Main {/**思路&#xff1a;*(1) 首先设置数组res,记录合法的序列&#xff0c;res[0]1*(2) 从dfs&#xff08;k&#xff…

7.dfs---象棋中马的覆盖点

分析&#xff1a; 首先将整个棋盘g初始化为全. 再从初始位置开始深度优先遍历dfs(当前x,当前y&#xff0c;已走步数): (1)先判断当前的x和y下标是否越界&#xff1b; (2)再判断当前已走的步数是否为3; (3)然后将当前位置设置为#,即g[x][y]# (4)最后递归访问8个位置 代码&a…

bzoj 4500: 矩阵

Description 有一个n*m的矩阵&#xff0c;初始每个格子的权值都为0&#xff0c;可以对矩阵执行两种操作&#xff1a;1. 选择一行&#xff0c; 该行每个格子的权值加1或减1。2. 选择一列&#xff0c; 该列每个格子的权值加1或减1。现在有K个限制&#xff0c;每个限制为一个三元组…

图邻接表,BFS和DFS的python实现

图的邻接表实现 class V:def __init__(self, item):self.id itemself.nbrs {}self.visited Falsedef add_nbr(self, nbr, weight0):self.nbrs[nbr] weightdef get_nbrs(self):return self.nbrs.keys()def get_idx(self):return self.iddef get_weight(self, nbr):return s…

力扣 二叉树展开为链表(dfs)

力扣 二叉树展开为链表(dfs) 题目链接&#xff1a;https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/ 题目的意思是按照其先序遍历的顺序将二叉树展开为链表&#xff0c;要求使用O(1)的内存空间&#xff0c;所以先排除先序遍历出存储起来再构造链表的方法…

PAT A1079 Total Sales of Supply Chain (25分)

先根据题意建立出树&#xff0c;然后通过DFS遍历&#xff0c;每遍历一个结点注意改变该结点的价格&#xff0c;当到达递归终点时总价格加上此时零售价*商品数量然后返回。 #include <cstdio> #include <vector>using namespace std;int n; double unit, r; doubl…

PAT A1090 Highest Price in Supply Chain (25分)

5分钟AC&#xff0c;和A1079很相似&#xff0c;不同的是需要输出最大值的个数&#xff0c;可以用map来存储。 #include <cstdio> #include <vector> #include <map>using namespace std;int n; double unit, r; double Max -1; map<double,int> m;s…

PAT A1106 Lowest Price in Supply Chain (25分)

和A1079、A1094都是换汤不换药的题目&#xff0c;没什么好说的&#xff0c;DFS一遍找出最小值。 #include <cstdio> #include <vector> #include <map> #include <cmath>using namespace std;map<double,int> m; int n; double unit, r; double…

PAT A1034 Head of a Gang (30 分)

刚刚开始学习图论&#xff0c;这是一道图的遍历题&#xff0c;目前对我来说独立完成还是有点困难的。。。自己想了很久&#xff0c;参考了书上的代码&#xff0c;也调试了很久&#xff0c;希望做后面的题目能有进步吧。 #include <cstdio> #include <vector> #inc…

PAT A1021 Deepest Root (25 分)

我的思路是用两次DFS&#xff0c;第一次用来判断有几个连通子图&#xff0c;如果超过1个就说明不能构成树&#xff0c;输出连通子图数量并结束程序。 第二次DFS是在这个图已经是确定能构成树的情况下&#xff0c;记录下每个结点作根时它的最大层数&#xff0c;最后循环找出最大…

PAT A1018 Public Bike Management (30 分)

这题真的是个好题目啊&#xff0c;基本涵盖了Dijkstral的所有考点。 静下心来写了一个小时&#xff0c;发现测试点5、7过不了&#xff0c;自己分析了一会无果&#xff0c;参考了别人的博客&#xff0c;发现这两点是个坑&#xff0c;因为沿路后面的自行车无法填补前面自行车缺少…

第七届蓝桥杯省赛C/C++B组 试题3:凑算式

答案&#xff1a;29 解法一&#xff1a;暴力枚举 #include <cstdio>int ans 0; int main(){for(int a1; a<9; a){for(int b1; b<9; b){if(b a) continue;for(int c1; c<9; c){if(cb || ca) continue;for(int d1; d<9; d){if(da || db || dc) continue;for…

第七届蓝桥杯省赛C/C++B组 试题6:方格填数

答案&#xff1a;1580 #include <cstdio> #include <cmath>int ans 0; int G[5][5]; int X[8] {1,-1,0,0,-1,-1,1,1}; int Y[8] {0,0,1,-1,-1,1,-1,1}; bool vis[10] {false};bool flag(int x, int y){if(x0 && y0) return false;if(x2 && y3…

第十一届蓝桥杯国赛C/C++B组 试题E:玩具蛇

答案&#xff1a;552 标准的DFS模板题&#xff0c;有一说一作为国赛填空题最后一题有点水。。。 #include <cstdio>int res 0; bool vis[5][5] {false}; int X[4] {0,0,1,-1}; int Y[4] {1,-1,0,0};bool legal(int x, int y){if(vis[x][y] true) return false;if(x…

SDUT-3469 深度优先搜索练习之神奇的矩环(暴力/DFS)

深度优先搜索练习之神奇的矩环 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 小鑫的女朋友被魔王抢走了&#xff01;魔王留给小鑫一张n*m大的表&#xff0c;上面有各种各样的颜色&#xff0c;用A-Z这26个字母来表示。魔王留给他一个任…

DFS走迷宫(懒猫老师C++完整版)

DFS走迷宫的C完整版知识储备一&#xff1a;普通动态二维数组的构造二&#xff1a;栈的构造三&#xff1a;栈的逆序遍历Main文件代码该版本代码是配合 懒猫老师用DFS走迷宫视频 基于C基础所写的完整版&#xff08;实现了栈逆序遍历&#xff09;&#xff0c;适合小白系统性的学习…

java 二叉树的路径变形题

牛客题目链接 1. 题目考点 bfs 2. 考点解析 int sum 0;public int sumNumbers (TreeNode root) {// write code heredfs(root, 0);return sum;}public void dfs(TreeNode root, int cnt) {if (root null) return ;cnt cnt*10 root.val;if (root.left null && r…

leetcode:46 全排列 中等难度 经典的回溯算法题目

回溯算法的框架 def backtrack(...):for 选择 in 选择列表:做选择backtrack(...)撤销选择题目描述 给定一个 没有重复 数字的序列&#xff0c;返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] ]来源&#xff1a;力扣…

leetcode: 102. 二叉树的层序遍历 中等难度

题目描述 给你一个二叉树&#xff0c;请你返回其按 层序遍历 得到的节点值。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例&#xff1a; 二叉树&#xff1a;[3,9,20,null,null,15,7], 3/ \9 20/ \15 7返回其层次遍历结果&#xff1a; [[3]…

Connected Components-连通分量(挑战程序设计竞赛)

题目: 请编写一个程序&#xff0c;输入SNS的朋友关系&#xff0c;判断从指定人物出发能否通过双向朋友链抵达人物。 输入&#xff1a; 第1行输入代表SNS用户数的整数n以及代表朋友关系数的m&#xff0c;用空格隔开。SNS各用户的ID分别为0到n-1。 接下来的m行输入朋友关系&…

剑指offer13.机器人的运动范围C++

地上有一个m行n列的方格&#xff0c;从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动&#xff0c;它每次可以向左、右、上、下移动一格&#xff08;不能移动到方格外&#xff09;&#xff0c;也不能进入行坐标和列坐标的数位之和大于k的格子。例如&am…

蓝桥杯牌型种数C++

/*牌型种数小明被劫持到X赌城&#xff0c;被迫与其他3人玩牌。 一副扑克牌&#xff08;去掉大小王牌&#xff0c;共52张&#xff09;&#xff0c;均匀发给4个人&#xff0c;每个人13张。 这时&#xff0c;小明脑子里突然冒出一个问题&#xff1a; 如果不考虑花色&#xff0c;只…

LeetCode 404. 左叶子之和

原题目&#xff1a;https://leetcode-cn.com/problems/sum-of-left-leaves/ 思路&#xff1a; 递归的思想&#xff0c;只计算左叶子的节点值&#xff0c;那么怎么判断是不是左叶子呢&#xff0c;即当前节点指向的做孩子不为空&#xff0c;且做孩子是叶子节点&#xff0c;他就是…

数据结构PTA 案例6-1.4 地下迷宫探索

案例6-1.4 地下迷宫探索 题目解法题目 假设有一个地下通道迷宫&#xff0c;它的通道都是直的&#xff0c;而通道所有交叉点&#xff08;包括通道的端点&#xff09;上都有一盏灯和一个开关。请问你如何从某个起点开始在迷宫中点亮所有的灯并回到起点&#xff1f; 输入格式: 输…

SDUT-1269 走迷宫

走迷宫Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description一个由n * m 个格子组成的迷宫&#xff0c;起点是(1, 1)&#xff0c; 终点是(n, m)&#xff0c;每次可以向上下左右四个方向任意走一步&#xff0c;并且有些格子是不能走动&#xf…

搜索专题——棋盘问题

原题链接&#xff1a;POJ—1321 题目描述&#xff1a;在一个给定形状的棋盘&#xff08;形状可能是不规则的&#xff09;上面摆放棋子&#xff0c;棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列&#xff0c;请编程求解对于给定形状和大小的棋盘&…

数据结构PTA 案例6-1.3 哥尼斯堡的“七桥问题”

案例6-1.3 哥尼斯堡的“七桥问题” 题目解法题目 哥尼斯堡是位于普累格河上的一座城市&#xff0c;它包含两个岛屿及连接它们的七座桥&#xff0c;如下图所示。 可否走过这样的七座桥&#xff0c;而且每桥只走过一次&#xff1f;瑞士数学家欧拉(Leonhard Euler&#xff0c;17…

Leetcode周赛370补题(3 / 3)

目录 1、找到冠军 Ⅰ- 暴力 2、找到冠军 Ⅱ - 寻找入度为0的点 3、在树上执行操作以后得到的最大分数 - dfs树 逆向思考 1、找到冠军 Ⅰ- 暴力 100115. 找到冠军 I class Solution {public int findChampion(int[][] g) {int ng.length;for(int i0;i<n;i){int cnt0;for…

6-13图-拓扑排序

拓扑排序 一.基础知识 1.AOV网&#xff08;用顶点表示活动的网&#xff09; &#xff08;Activity On Vertex NetWork&#xff09; 用DAG图&#xff08;有向无环图&#xff09;表示⼀个工程&#xff0c;顶点表示活动&#xff0c;有向边<Vi, Vj>表示活动Vi必须先于活动…

6-6图-深度优先搜索DFS

深度优先搜索 一.基础知识 Depth-First-Search DFS深度优先搜索 往深处走 先看树 访问顺序12563478 过程&#xff1a;首先访问1&#xff0c;并置1标记已访问&#xff1b;然后访问与a邻接且未被访问的顶点2&#xff08;FirstNeighbor&#xff09;&#xff0c;标记2为已访问&a…

[DFS模板题] 全排列以及n-皇后问题

目录 排列数字 利用一维数组标记 利用二进制标记 n-皇后问题 对于关键操作的理解 排列数字 输入样例&#xff1a; 3输出样例&#xff1a; 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 利用一维数组标记 #include <iostream> using namespace std;const int N 10; int …

[AcWing算法提高] 搜索专题练习(进行中......)

文章目录✔Flood Fill[AcWing 1097. 池塘计数](https://www.acwing.com/problem/content/1468/)[AcWing 1098. 城堡问题]([1098. 城堡问题 - AcWing题库](https://www.acwing.com/problem/content/1100/))[AcWing 1106. 山峰和山谷](https://www.acwing.com/problem/content/14…

2016省赛javaA组7题----剪邮票(填空)

import java.util.Scanner;public class TestOne {static int ans 0;static int[] arr {0,0,0,0,0,0,0,1,1,1,1,1};//12个元素(将减取得格子标记为1)。与之前全排列不同&#xff0c;该数组具有重复元素static boolean vis[] new boolean[12]; //标记元素有没有被访问public …

bzoj 4602: [Sdoi2016]齿轮

Description 现有一个传动系统&#xff0c;包含了N个组合齿轮和M个链条。每一个链条连接了两个组合齿轮u和v&#xff0c;并提供了一个传动比x : y。即如果只考虑这两个组合齿轮&#xff0c;编号为u的齿轮转动x圈&#xff0c;编号为v的齿轮会转动y圈。传动比为正表示若编号为u的…

4.dfs例题---踏青

题目&#xff1a; 代码&#xff1a; import java.util.Scanner;public class Main {/** 思路&#xff1a; 测试数据 2 4 ##.. ..##* */static int n;//行static int m;//列static boolean[][] vis;//访问数组static int[][] t {{1,0},{-1,0},{0,1},{0,-1}};public static void…

java 判断二叉树 t1 是否包含二叉树 t2 的完全拓扑结构

牛客题目链接 1. 题目考点 仔细审题&#xff0c;是完全拓扑结构&#xff0c;不是部分 1 和 1 就不是 t1 完全包含 t2&#xff0c;而是部分包含 t2/ \ /2 3 2两次 dfs如何递归判断两个二叉树是否相等将 # 特殊处理成 0&#xff…

java 将升序数组转化为平衡二叉搜索树

牛客题目链接 1. 题目考点 dfs 建树类似题目&#xff1a; 重建二叉树 2. 考点解析 public TreeNode sortedArrayToBST (int[] num) {// write code hereif (num.length 0) return null;return f(num); }public TreeNode f(int[] num) {if (num.length 0) return null;int…

Leetcode-树-102.二叉树的层序遍历(中等)

102.二叉树的层序遍历题目如下解题思路c代码题目如下 解题思路 每层有一定的节点&#xff0c;这个节点与层数有关&#xff0c;我们引入一个depth来表示这个树有多少层&#xff0c;递归来完成二叉树的层序遍历 c代码 /*** Definition for a binary tree node.* struct TreeNo…

计蒜客-1284-夫子云游(dfs)

“那年春&#xff0c;夫子出国游历&#xff0c;遇桃山美酒&#xff0c;遂寻径登山赏桃品酒&#xff0c;一路摘花饮酒而行&#xff0c;始斩一斤桃花&#xff0c;饮一壶酒&#xff0c;后夫子惜酒&#xff0c;故再斩一斤桃花&#xff0c;只饮半壶酒&#xff0c;再斩一斤桃花&#…

leetcode [690]员工的重要性(BFS或DFS搜索,打工人五一快乐~)

# 给定一个保存员工信息的数据结构&#xff0c;它包含了员工 唯一的 id &#xff0c;重要度 和 直系下属的 id 。 # # 比如&#xff0c;员工 1 是员工 2 的领导&#xff0c;员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, # […

C++图的基本用法

PS.更多数据结构知识详见&#xff1a; 八大数据结构 图的数据结构 const int MAXVEX 100; //最大的顶点数 typedef char VertexType; //定点的类型 typedef int EdgeType; //边的权值struct Graph {VertexType vexs[MAXVEX]; //顶点表EdgeType arc[MAXVEX][MAXVEX]; …

Leetcode-538 把二叉搜索树转换为累加树 Python3实现(dfs)

# 给定一个二叉搜索树&#xff08;Binary Search Tree&#xff09;&#xff0c;把它转换成为累加树&#xff08;Greater Tree)&#xff0c;使得每个节点的值是原来的节点值加上所有大于它的节 # 点值之和。 # # # # 例如&#xff1a; # # 输入: 原始二叉搜索树: # …

PAT甲级真题 1079 Total Sales of Supply Chain (25分) C++实现(带深度的DFS)

题目 A supply chain is a network of retailers&#xff08;零售商&#xff09;, distributors&#xff08;经销商&#xff09;, and suppliers&#xff08;供应商&#xff09;– everyone involved in moving a product from supplier to customer. Starting from one root…

leetcode[113]路径总和 II Python3实现(dfs记录路径, 累加,经典题目)

# 给定一个二叉树和一个目标和&#xff0c;找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 # # 说明: 叶子节点是指没有子节点的节点。 # # 示例: # 给定如下二叉树&#xff0c;以及目标和 sum 22&#xff0c; # # 5 # / \ …

PAT A1013 Battle Over Cities (25 分)

此题可以转化为求删除一个结点后的连通子图的数量&#xff0c;删除结点可以通过DFS直接return的方法来实现。 #include <cstdio> #include <vector>using namespace std;vector<int> city[1010]; bool visited[1010]; int n, m, k;void DFS(int index, int …

[BFS和DFS的故事]LC104---二叉树的最大深度(题目暗示DFS)

LeetCode104题目如下代码如下题目如下 代码如下 就是平平无奇的dfs&#xff0c;注意递归的条件和出口就可以了 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(null…

PAT甲级真题 1103 Integer Factorization (30分) C++实现(dfs+剪枝+备忘录,经典题目)

题目 The K-P factorization of a positive integer N is to write N as the sum of the P-th power of K positive integers. You are supposed to write a program to find the K-P factorization of N for any positive integers N, K and P. Input Specification: Each inp…

数据结构与算法:链表、树、图、堆、散列表

1 链表 链表是线性数据结构&#xff08;数据元素之间存在着“一对一”关系&#xff09;&#xff0c;链表中的每个元素是一个包含数据data和引用字段的对象&#xff0c;引用字段只有next为单向链表&#xff0c;同时又prev和next为双向链表。 1.1 链表基本操作 链表读取第 i 个…

【LeetCode】46、全排列(递归、回溯)

题目描述 给定一个 没有重复 数字的序列&#xff0c;返回其所有可能的全排列。 示例 解题思路 本题看起来题目描述很简单&#xff0c;但一时间不知从何入手。 本题解法&#xff1a;构造一棵树型结构来看全排列问题&#xff0c;每个数只能出现一次&#xff0c;出现在不同的位…

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

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

Python每日一练(20230416)

目录 1. 有效数字 &#x1f31f;&#x1f31f;&#x1f31f; 2. 二叉树的最大深度 &#x1f31f; 3. 单词搜索 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 …

力扣第695题 岛屿的最大面积 C++ DFS BFS 附Java代码

题目 695. 岛屿的最大面积 中等 相关标签 深度优先搜索 广度优先搜索 并查集 数组 矩阵 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你…

8.dfs--王子救公主(遍历迷宫,王子和公主访问过同一位置,即成功救公主)

题目&#xff1a; 分析&#xff1a; 和前面的迷宫例题类似&#xff0c;遇到墙则不能通过 &#xff08;1&#xff09;分别寻找王子和公主的初始位置 &#xff08;2&#xff09;设置一个三维访问数组v[n][m][2]&#xff1a;v[n][m][0]标记王子是否走过、v[n][m][1]标记公主是否…

12. dfs剪枝策略练习----蒜头君的旅游计划

题目&#xff1a; 代码&#xff1a; import java.util.Scanner;public class Main {/** 思路&#xff1a;* (1) 从第一个城市开始进行深度优先搜索&#xff1a;dfs(0,1,0); //三个参数分别表示 当前所在城市&#xff0c;已访问的城市数目&#xff0c;当前花费* (2)dfs(k,cnt,s…

13. dfs的剪枝策略练习---正方形

题目&#xff1a; 代码&#xff1a; import java.util.Scanner;public class Main {/** 思路&#xff1a;* (1)首先计算木棍的总长度sum,* 如果sum%40,则说明能构成正方形,且边长ssum/4* 否则直接输出No* (2)从第一根棍开始进行dfs(1,0);* dfs(x,k) //x:当前已找到的边数…

acwing 479 加分二叉树

题面 题解(区间DP输出方案) 我们知道给定一个二叉树的中序遍历&#xff0c;无法确定一颗二叉树&#xff0c;所以就会有很多二叉树 状态表示&#xff1a;f[i] [j] 表示中序遍历是 w[i~j] 的的所有二叉树的得分的最大值 状态计算&#xff1a;f[l] [r] max( f[l] [k-1] * f[k1] […

信息学奥赛一本通 1215:迷宫 dfs搜索 (耙耙)

http://ybt.ssoier.cn:8088/problem_show.php?pid1215 【输入样例】 2 3 .## …# #… 0 0 2 2 5 … ###.# …#… ###… …#. 解释: 这题目我超时了几次,又错了几次,主要是回溯方面(我用了回溯,所以以前走过不能走的路径都标志回没走过,所以超时了) 注意 dfs 第一行 v[x][y]…

leetcode:783. 二叉搜索树节点最小距离 | leetcode:530. 二叉搜索树的最小绝对差

783题解和530一模一样 二叉搜索树&#xff1a; 二叉查找树&#xff08;Binary Search Tree&#xff09;&#xff0c;&#xff08;又&#xff1a;二叉搜索树&#xff0c;二叉排序树&#xff09;它或者是一棵空树&#xff0c;或者是具有下列性质的二叉树&#xff1a; 若它的左子树…

洛谷 深度优先搜索

从某个状态开始&#xff0c;不断转移状态直到无法转移&#xff0c;在退回前一步&#xff0c;继续转移其他状态&#xff0c;如此不断重复得到解的过程即为深度优先搜索。采用递归函数实现较为简单 例题 部分和问题 给定n个正数&#xff0c;从中选出若干数&#xff0c;使其结果…

【HNOI2016模拟3.26】A

Description 给出n个球&#xff0c;m个筐子。每个球可以放在第ai个或者第bi个筐子里。求最少有多少个筐子里有奇数个球&#xff0c;和最优情况下的方案数。 n,m<2*10^5 Solution 我们运用调整法解决这道题。 我们先随便把每个球扔到任意一个筐子里。这样我们就得到了一…

【GDOI2016模拟3.9】染色配对

Description 给出n个点&#xff0c;且这n个点形成了m个极大团&#xff08;团里面互相有边相连&#xff0c;且极大团不被其他团包含&#xff09;&#xff0c;每个点都属于且仅属于两个极大团。求这张图的极大匹配数和方案。 m<2*10^4,n<2*10^5 Solution 比赛时脑抽&am…

蓝桥 危险系数 求割点用dfs

问题描述 抗日战争时期&#xff0c;冀中平原的地道战曾发挥重要作用。 地道的多个站点间有通道连接&#xff0c;形成了庞大的网络。但也有隐患&#xff0c;当敌人发现了某个站点后&#xff0c;其它站点间可能因此会失去联系。 我们来定义一个危险系数DF(x,y)&#xff1a; 对…

Java实现图的广度优先遍历和深度优先遍历

本文所有代码全部基于Java实现图的存储和创建一文所实现的带权无向图。 广度优先遍历 广度优先搜索(Breadth-First-Search,BFS) 类似于二叉树的层序遍历。基本思想是&#xff1a;首先访问起始顶点v&#xff0c;接着由v出发&#xff0c;依次访问未访问过的邻接顶点w1,w2,…wi,然…

[剑指offer]JT65---矩阵中的路径(算是剑指offer里唯一的非二叉树非链表dfs题吧,也比较经典!)

剑指offer第六十五题题目如下思路与代码题目如下 思路与代码 思路很简单&#xff0c;就是每个点都深搜一下。 中间比较巧妙的就是&#xff0c;没有用到map数组要存放是否访问&#xff0c;而是将之前的点置空然后回溯 如果再次到这里为空就return false了 看代码就很容易懂得&…

[剑指offer]JT62---二叉搜索树的第k个结点(二叉树有个江湖规矩!)

剑指offer第六十二题题目如下思路与代码题目如下 思路与代码 二叉树江湖规矩&#xff1a;左结点<根结点<右结点 那就很简单了&#xff0c;深搜&#xff0c;走左节点&#xff0c;n&#xff0c;没了再右节点。 注意n是先左节点递归再n&#xff0c;所以第一个n是最左节点。…

【算法练习】dfs(深搜)数独

关键&#xff1a; dfs&#xff08;深搜&#xff09;&#xff0c;然后判断行列&#xff0c;这里先按照一行一行的查找&#xff0c;我当初也是这样想的&#xff0c;只是写到了一半就放弃了。下次应该注意&#xff01; #include <bits/stdc.h> using namespace std; int a…

深度优先搜索 DFS,以例题来熟悉dfs

深度优先搜索 DFS 深度优先搜索属于图算法的一种&#xff0c;英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止&#xff0c;而且每个节点只能访问一次. 深度优先搜索特别适用于那些探索所有的可能性的这些问题(穷举)。 以例题…

(岛屿问题一) leetcode 695: 岛屿的最大面积

leetcode 695: 岛屿的最大面积 题目描述 给定一个包含了一些 0 和 1 的非空二维数组 grid 。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&a…

(岛屿问题三) leetcode 695: 岛屿的周长

leetcode 695: 岛屿的周长 在做本题目之前&#xff0c;请先看前两篇文章。 第一篇文章&#xff0c;链接:link 第二篇文章&#xff0c;链接:link 题目描述 给定一个 row∗colrow * colrow∗col 的二维网格地图 gridgridgrid &#xff0c;其中&#xff1a;grid[i][j]1grid[i][…

(岛屿问题二) leetcode 200: 岛屿数量

leetcode 200: 岛屿数量 在做本题目之前&#xff0c;请先看前一篇文章。链接:link 题目描述 给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每…

【LeetCode】Sama的个人记录_31

【Q310】(md) 被围绕的区域 给定一个二维的矩阵&#xff0c;包含 ‘X’ 和 ‘O’&#xff08;字母 O&#xff09;。 找到所有被 ‘X’ 围绕的区域&#xff0c;并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X XX O O X X X O XX O X X 运行你的函数后&#xff0…

DFS和BFS求解岛屿数量

题目描述 给一个01矩阵&#xff0c;1代表是陆地&#xff0c;0代表海洋&#xff0c; 如果两个1相邻&#xff0c;那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 岛屿: 相邻陆地可以组成一个岛屿&#xff08;相邻:上下左右&#xff09; 判断岛屿个数。 示例1 输入 [[1,1…

LeetCode 529. 扫雷游戏

原题目&#xff1a;https://leetcode-cn.com/problems/minesweeper/ 思路&#xff1a; dfs&#xff0c;注意规则就好 代码&#xff1a; class Solution {int x[8] {-1,-1,-1,0,0,1,1,1};int y[8] {-1,0,1,-1,1,-1,0,1};void dfs(vector<vector<char>>& boa…

2024/1/15 DFS BFS

目录 全排列 catch that cow 红与黑 全排列 给定一个整数 n&#xff0c;将数字 1∼n 排成一排&#xff0c;将会有很多种排列方法。 现在&#xff0c;请你按照字典序将所有的排列方法输出。 输入&#xff1a; 3 输出&#xff1a; 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 …

DFS深度优先搜索遍历

转载&#xff1a;https://blog.csdn.net/qq_38442065/article/details/81634282 超简单详细 图的邻接表矩阵存储图&#xff0c;包含一位数组和指向节点的结构体&#xff0c;栈实现访问节点&#xff0c;递归实现dfs. 深度优先搜索(DFS, Depth First Search)是一个针对图和树的…

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…

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 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<…

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 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 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 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…

力扣 验证二叉搜索树(dfs或中序遍历)

力扣 验证二叉搜索树(dfs或中序遍历) 题目链接&#xff1a;https://leetcode-cn.com/problems/validate-binary-search-tree/ 题目的意思就是验证一棵树是不是二叉搜索树 二叉搜索树的特征就是左孩子值小于根节点值&#xff0c;右孩子值大于根节点值 解析&#xff1a; 方法1就是…

力扣 组合总和 (标准dfs)

力扣 组合总和(标准dfs) 题目链接&#xff1a;https://leetcode-cn.com/problems/combination-sum/ 题目的大致意思就是从一个没有重复元素的数组中&#xff0c;抽取任意个数其和要等于target&#xff0c;让你列出所有的组合方式 需要注意的是可选择多个同样的数组元素&#xf…

边的删减

最短路径下多余的边对答案无影响 先预处理节点1到每个节点的最短路 如果当前权值加上上一个点的最短路和这个最短路相等则当前路径满足并记录节点编号 #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <q…

LeetCode 1261. 在受污染的二叉树中查找元素

原题目&#xff1a;https://leetcode-cn.com/problems/find-elements-in-a-contaminated-binary-tree/ 思路&#xff1a; dfs还原受污染的二叉树&#xff0c;遍历之中用hash存储节点的值&#xff0c; 如果查找的值在hash表中&#xff0c;返回真 代码&#xff1a; class Find…

Codeforces Round #728 (Div. 2)

c排序再累加最后去个尾求个和#include<bits/stdc.h> using namespace std; #define int long long typedef long long ll; const int mod1e97,inv2(mod1)/2; int ksm(int b,int n){int res1;while(n){if(n&1) res1ll*res*b%mod;b1ll*b*b%mod; n>>1;}return res…

1030 Travel Plan (30 分)

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析CODE原题目&#xff1a; 1030 Travel Plan (30 分).题意 给出城市数N&#xff08;≤500&#xff0c;从0编号&#xff09;&#xff0c;道路数M&#xff0c;起点城市S和终点城市D&#xff08;均不超过500的整…

【每日一题】每棵子树内缺失的最小基因值

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;DFS 写在最后 Tag 【dfs】【树】【2023-10-31】 题目来源 2003. 每棵子树内缺失的最小基因值 题目解读 找出每棵子树内缺失的最小基因值。 解题思路 方法一&#xff1a;DFS 找到基因值为 1 的节点&#xff0c;从该…

SDUT 2604 第四届山东省ACM省赛 Thrall’s Dream(DFS或BFS)

传送门&#xff1a;SDUT 2604题目大意&#xff1a; 给你一个有向图&#xff0c;问图中是否任意两点之间都存在路径可达。思路&#xff1a; 我们可以先求出对于每个点&#xff0c;它可以到达的点有哪些。用数组 can[i][j] 保存点 i 到 j 是否可达。然后对于两个点 i、j 是否 i 不…

组合的和 Combination Sum

文章目录组合的和 Combination Sum思路Tag组合的和 Combination Sum 一个没有重复元素的正整数组candidates 和一个正整数target。从candidates 中找出所有可以满足数字加和为target 的组合&#xff0c;candidates 中的数字可以被重复使用&#xff0c;组合中的数字一样&#x…

剑指 Offer II 049. 从根节点到叶节点的路径数字之和

中等题题目 &#xff1a; 给定一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&#xff1a; 例如&#xff0c;从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。计算从根节点到叶节点生…

2n皇后问题——Java

2n皇后问题 问题描述 给定一个n*n的棋盘&#xff0c;棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后&#xff0c;使任意的两个黑皇后都不在同一行、同一列或同一条对角线上&#xff0c;任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多…

LeetCode_BFS_DFS_中等_1376.通知所有员工所需的时间

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 公司里有 n 名员工&#xff0c;每个员工的 ID 都是独一无二的&#xff0c;编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。 在 manager 数组中&#xff0c;每个员工都有一个直属负责人&#xff0c…

深度优先搜索(DFS):POJ1979--Red and Black

本题是很简单的深搜题。从起点出发每个黑色顶点访问一次即可&#xff0c;访问过的标为已访问&#xff08;或直接标红色&#xff09;。看到有些人使用了记忆化搜索&#xff0c;是小题大做了&#xff0c;因为本题的顶点访问一次后就“失效”了&#xff0c;所以没有记忆的必要。原…

【算法竞赛模板】二叉树专题(含前中后序遍历建树、DFS与BFS等对二叉树的操作)

二叉树专题一、构建二叉树① 在中序遍历中对根节点快速定位② 前序 中序 遍历构建二叉树③ 后序 中序 遍历构建二叉树二、前中后序 遍历二叉树① 前序遍历二叉树 (非递归)② 中序遍历二叉树 (非递归)③ 后序遍历二叉树 (非递归)三、变种题 之 二叉树① BFS层次遍历二叉树② D…

Fractal Streets

题目传送门 这是一道挺有意思的递归问题 首先我们需要发现不同级分形街道的联系 对于任意一张编号大于2的分形街道来说&#xff0c;右上角右下角的图是由前一张直接平移得到的&#xff0c;左上角的是由前一张顺时针旋转90得到的&#xff0c;左下角是由前一张逆时针旋转90得到的…

费解的开关

这道题也是一道利用递推的题目&#xff0c;超级有趣 首先对于任意一个方块&#xff0c;能改变它的只有它自己&#xff0c;以及它四周的方块 因此我们可以这样想&#xff0c;现枚举出第一行的每一种可能性 对于第二行的每一个方块来说&#xff0c;只要它上面的方块是亮的&#x…

2n皇后问题

题目连接 这道题是n皇后问题的延伸 只需要先搜索黑皇后&#xff0c;再在搜索黑皇后的前提下遍历白皇后即可 #include <bits/stdc.h> using namespace std; const int N 15; int pic[N][N]; int res; int n; //0表示不能放&#xff0c;1表示能放&#xff0c;2表示黑皇后…

DFS深度优先搜索(一定要想好搜素顺序)

排列数字 #include <bits/stdc.h> using namespace std; typedef long long ll; const int N10; int path[N]; //用来存方案 int st[N]; //用来检查哪一个数被用过 int n; void dfs(int u) {//表示深搜到最后了&#xff0c;即可以输出结果if(un){for(int i0;i<n;i)co…

[python实现] 递归回溯(深度优先)构造随机迷宫

最近对迷宫相关的算法产生了兴趣,可能因为了解了一点点图论和算法,突然发现自己这种菜鸡也能试着实现一下迷宫生成 目前主要打算使用Python实现, 之后还会用Unity实现更加形象的生成过程 主要参考:python_marble_xu的博客-CSDN博客https://blog.csdn.net/marble_xu/category_…

[递归 dfs]枚举全排列和所有组合

1.全排列 例题:洛谷P1706 全排列问题 题目描述 输出自然数 1 到 n 所有不重复的排列&#xff0c;即 nn 的全排列&#xff0c;要求所产生的任一数字序列中不允许出现重复的数字。 输入格式 一个整数 n。 输出格式 由 1∼n 组成的所有不重复的数字序列&#xff0c;每行一个序列。…

LeetCode 897. 递增顺序查找树

原题目&#xff1a;https://leetcode-cn.com/problems/increasing-order-search-tree/ 思路&#xff1a; 中序遍历&#xff0c;之后重建树 代码&#xff1a; class Solution { public:queue<int> q;void inorder(TreeNode* root){if(rootNULL) return;inorder(root->…

6.dfs----家谱

题目&#xff1a; 代码&#xff1a; import java.util.Scanner;public class Main {/** 思路&#xff1a; 测试数据 4 1 2 1 3 2 4正常输出&#xff1a; 3 1 0 0 * */static int n;//家谱中的总人数static int[][] g;//存放家谱&#xff08;2列分别表示父母、孩子&#xff09;…

3.剪枝例题---引爆炸弹

题目&#xff1a; 分析&#xff1a; 代码&#xff1a; import java.util.Scanner;public class Main {/** 思路&#xff1a; 测试数据 5 5 00010 00010 01001 10001 01000 正常输出&#xff1a;2* */static int[] row;//标记行列是否已访问static int[] col;static int n;//…

Leetcode—22.括号生成【中等】

2023每日刷题&#xff08;七十九&#xff09; Leetcode—22.括号生成 算法思想 实现代码 class Solution { public:vector<string> generateParenthesis(int n) {vector<string> ans;int m n * 2;string path(m, 0);function<void(int, int)> dfs [&…

unity应用实例——模拟深度优先遍历流程(DFS)

DFS是被广泛运用的搜索算法&#xff0c;它属于一种盲目搜索&#xff0c;定义如下&#xff1a; 1、起始访问的顶点是指定的&#xff1b; 2、若当前访问的顶点的邻接顶点有未被访问的&#xff0c;则任选一个访问&#xff1b;反之&#xff0c;退回到最近访问过的顶点&#xff1b…

算法思想 - 回溯算法,0/1背包,全排列等问题

文章目录回溯算法一、基本思想二、解题步骤三、经典问题&#xff1a;1. 全排列问题2. 0/1 背包问题3. 字母大小写全排列回溯算法 回溯算法&#xff08;backtracking algorithm&#xff09;&#xff0c;也叫试探法&#xff0c;实际上一个类似枚举的搜索尝试过程&#xff0c;主要…

LeetCode 200. Number of Islands

原题目&#xff1a;https://leetcode-cn.com/problems/number-of-islands/ 思路&#xff1a; 以1为起始点进行遍历&#xff0c;遍历过的标记为2. 代码&#xff1a; class Solution { private:int n,m; public:void dfs(vector<vector<char>>& grid,int i,int…

二叉树:暴力LCAT a r j a n(离线)算法

二叉树 重要性质&#xff1a; 经过前人的总结&#xff0c;二叉树具有以下几个性质&#xff1a; 二叉树中&#xff0c;第 i 层最多有 2^(i-1 )个结点。如果二叉树的深度为 K&#xff0c;那么此二叉树最多有 2^K-1 个结点。二叉树中&#xff0c;终端结点数&#xff08;叶子结点数…

LeetCode 130. Surrounded Regions

原题目&#xff1a;https://leetcode-cn.com/problems/surrounded-regions/ 思路&#xff1a; 对四个边界进行dfs&#xff0c;把与边界O相连的O标记为f&#xff0c;这些f是要继续保留位O的&#xff0c; 最后遍历数组&#xff0c;把f转换成O&#xff0c;其余的转换成X就好了。…

寻一棵树的子树C++(Leetcode#572.另一个树的子树)题解

官方题解有很多高大上的方法&#xff0c;我这就将一个最容易想到、最直接的方法吧&#xff0c;比较详细&#xff08;基本上没有压缩代码&#xff09;&#xff0c;有不懂的可以在评论区问我~~~若有不足欢迎大佬斧正&#xff08;&#xff1e;人&#xff1c;&#xff1b;&#xff…

八皇后问题 (25分)

在国际象棋中&#xff0c;皇后是最厉害的棋子&#xff0c;可以横走、直走&#xff0c;还可以斜走。棋手马克斯贝瑟尔 1848 年提出著名的八皇后问题&#xff1a;即在 8 8 的棋盘上摆放八个皇后&#xff0c;使其不能互相攻击 —— 即任意两个皇后都不能处于同一行、同一列或同一…

AcWing第87场周赛题解

抱歉&#xff0c;3题只有前2题&#xff0c;第三题投入产出比太低&#xff0c;就不做了 一&#xff0c;移动棋子 4797. 移动棋子 - AcWing题库 题目 难度&#xff1a;简单 思路 直接套dfs模板&#xff0c;起点通过输入时得到&#xff0c;终点&#xff08;3&#xff0c;3&am…

不考虑分配与合并情况下,GO实现GCMarkSweep(标记清除算法)

观前提醒 熟悉涉及到GC的最基本概念到底什么意思&#xff08;《垃圾回收的算法与实现》&#xff09;我用go实现&#xff08;因为其他的都忘了&#xff0c;(╬◣д◢)&#xff91;&#xff77;&#xff70;!!&#xff09; 源码地址&#xff08;你的点赞&#xff0c;是我开源的…

重温数据结构与算法之深度优先搜索

文章目录前言一、实现1.1 递归实现1.2 栈实现1.3 两者区别二、LeetCode 实战2.1 二叉树的前序遍历2.2 岛屿数量2.3 统计封闭岛屿的数目2.4 从先序遍历还原二叉树参考前言 深度优先搜索&#xff08;Depth First Search&#xff0c;DFS&#xff09;是一种遍历或搜索树或图数据结…

LeetCode 543. 二叉树的直径

543. 二叉树的直径 【DFS】首先要想直径长&#xff0c;那么一定是计算两个叶子节点之间的路径。这样就可以递归地去计算以每个节点为根节点时他的最远的两个叶子之前的路径长度。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeN…

路径之谜 蓝桥杯 89

题目描述小明冒充 X 星球的骑士&#xff0c;进入了一个奇怪的城堡。城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。假设城堡地面是 nn 个方格。如下图所示。按习俗&#xff0c;骑士要从西北角走到东南角。可以横向或纵向移动&#xff0c;但不能斜着走&#xff0c;也不…

面试题 16.19. 水域大小

题目链接 面试题 16.19. 水域大小 mid 题目描述 你有一个用于表示一片土地的整数矩阵 land&#xff0c;该矩阵中每个点的值代表对应地点的海拔高度。若值为 0 则表示水域。由垂直、水平或对角连接的水域为池塘。 池塘的大小是指相连接的水域的个数。 编写一个方法来计算矩阵…

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…

Java每日一练(20230426)

目录 1. 天际线问题 &#x1f31f;&#x1f31f;&#x1f31f; 2. 2 的幂 &#x1f31f;&#x1f31f; 3. 对称二叉树 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每…

Golang每日一练(leetDay0095) 第一个错误的版本、完全平方数

目录 278. 第一个错误的版本 First Bad Version &#x1f31f; 279. 完全平方数 Perfect Squares &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日…

17. 数据结构之图

前言 前面介绍了队列&#xff0c;栈等线性数据结构&#xff0c;二叉树&#xff0c;AVL树等非线性数据结构&#xff0c;本节&#xff0c;我们介绍一种新的非线性数据结构&#xff1a;图。图这种结构有很广泛的应用&#xff0c;比如社交网络&#xff0c;电子地图&#xff0c;多对…

棋盘问题(dfs)

传送门 Description 在一个给定形状的棋盘&#xff08;形状可能是不规则的&#xff09;上面摆放棋子&#xff0c;棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列&#xff0c;请编程求解对于给定形状和大小的棋盘&#xff0c;摆放k个棋子的所有可行的…

深度优先搜索(DFS) ----- 递归与非递归写法及DFS拓展

一.DFS概述 1.Depth First Search 是遍历图的常用方法之一&#xff0c;它类似于与数的先根遍历&#xff0c;是数的先根遍历的推广。 DFS的基本实现思想是从图中的某个顶点v出发&#xff0c;访问此顶点&#xff0c;然后依次从v的未被访问的邻接点出发深度优先遍历图&#xff0c…

思维树

#include <iostream> #include <cstring> #include <vector> using namespace std; using ll long long ; const int M1e610; int n,x,dep[M],mx[M],dp[M];///dep深度&#xff0c;mx从该点到达的最深节点位置 vector<int> g[M]; void dfs(int x,int f…

[回溯搜索] 八皇后

今天来给大家讲八皇后这道题目 题目传送门(洛谷) 一个如下的 666\times666 的跳棋棋盘&#xff0c;有六个棋子被放置在棋盘上&#xff0c;使得每行、每列有且只有一个&#xff0c;每条对角线&#xff08;包括两条主对角线的所有平行线&#xff09;上至多有一个棋子。 这只是…

LeetCode_DFS_中等_面试题 16.19.水域大小

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 有一个用于表示一片土地的整数矩阵 land&#xff0c;该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法…

小唐开始刷蓝桥(二)2019年第十届C/C++ B组蓝桥杯省赛真题

文章目录前言一、组队二、年号字符三、数列求值四、数的分解五、迷宫六、特别数的和七、完全二叉树的权值八、等差数列九、后缀表达式十、灵能传输上一篇&#xff1a; 小唐开始刷蓝桥&#xff08;一&#xff09;2020年第十一届C/C B组第二场蓝桥杯省赛真题 下一篇&#xff1a; …

小唐开始刷蓝桥(一)2020年第十一届C/C++ B组第二场蓝桥杯省赛真题

目录一、门牌制作二、既约分数三、蛇形填数四、跑步锻炼五、七段码六、成绩统计七、回文日期八、子串分值和九、平面切分十、字串排序上一篇&#xff1a; 呆呆子&#xff0c;这就是小唐的第一篇啦&#xff01; 下一篇&#xff1a; 小唐开始刷蓝桥&#xff08;二&#xff09;201…

木棍拼正方形 Stick To Square

文章目录木棍拼正方形 Stick To Square思路Tag木棍拼正方形 Stick To Square 一个整数组sticks代表一堆木棍的长度&#xff0c;木棍不能折断&#xff0c;但是可以连接。每一个木棍都要使用到。判断给的木棍能否拼成一个正方形。 sticks [1,1,2,2,2] out&#xff1a;true思路 …

被包围的区域 Surrounded Regions

文章目录被包围的区域 Surrounded Regions思路Tag被包围的区域 Surrounded Regions 有一个 m*n的矩阵&#xff0c;每个坐标都有字符X ,O组成&#xff0c;找到所有被X包围的O区域。 将O换成X in&#xff1a;[["X","X","X","X"],["…

力扣每日一题:993. 二叉树的堂兄弟节点

目录题目&#xff1a;993. 二叉树的堂兄弟节点示例1示例2示例3提示&#xff1a;解题思路解题代码&#xff08;1&#xff09;层序遍历&#xff08;BFS&#xff09;&#xff08;2&#xff09;先序遍历&#xff08;DFS&#xff09;题目&#xff1a;993. 二叉树的堂兄弟节点 难度&…

力扣每日一题:938. 二叉搜索树的范围和

目录题目&#xff1a;938. 二叉搜索树的范围和示例1示例2提示&#xff1a;解题思路解题代码&#xff08;1&#xff09;朴素法&#xff08;2&#xff09;剪枝解题感悟题目&#xff1a;938. 二叉搜索树的范围和 难度&#xff1a; 简单 题目&#xff1a; 给定二叉搜索树的根结点…

力扣每日一题:783. 二叉搜索树节点最小距离

目录题目&#xff1a;783. 二叉搜索树节点最小距离示例1示例2提示&#xff1a;解题思路解题代码解题感悟题目&#xff1a;783. 二叉搜索树节点最小距离 难度&#xff1a; 简单 题目&#xff1a; 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的…

力扣每日一题:78. 子集

目录题目&#xff1a;78. 子集示例1示例2提示解题思路解题代码解题感悟题目&#xff1a;78. 子集 难度&#xff1a; 中等 题目&#xff1a; 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 …

力扣每日一题:131. 分割回文串

目录题目&#xff1a;131. 分割回文串示例1示例2提示解题思路解题代码解题感悟题目&#xff1a;131. 分割回文串 难度&#xff1a; 中等 题目&#xff1a; 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方…

Leetcode 94. 二叉树的中序遍历(DFS遍历 / 栈迭代 / 莫里斯遍历)

Leetcode 94. 二叉树的中序遍历&#xff08;DFS遍历 / 栈&迭代 / 莫里斯遍历1.题目2.解题方法1:DFS遍历&递归方法2:栈&迭代1.题目 链接&#xff1a;https://leetcode-cn.com/problems/binary-tree-inorder-traversal/ 给定一个二叉树的根节点 root &#xff0c;返…

1004 Counting Leaves (30分)

原题链接 这道题本质就是在求每层叶子结点个数 DFS用惯了BFS用起来有点困难 还是要多练 DFS&#xff1a; #include <iostream> #include <vector> #include <math.h> using namespace std; const int maxn 100010; //求每层叶子结点个数 vector<int>…

灰子学算法之树的倒数k个节点

算法&#xff1a; 这类题目的核心思想是&#xff0c;利用二叉树的中序遍历是从小到大的&#xff0c;将其转变成数组&#xff0c;然后对这个有序数组进行取值操作就可以了。 特别注意&#xff1a;转换之后的数组有可能会存在重复的节点&#xff0c;此时的话&#xff0c;我们就需…

【Leetcode】212.单词搜索II(Hard)

一、题目 1、题目描述 给定一个 m x n 二维字符网格 board 和一个单词(字符串)列表 words, 返回所有二维网格上的单词 。 单词必须按照字母顺序,通过 相邻的单元格 内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中…

POJ 3764 Language: The xor-longest Path (01字典树+DFS)

传送门&#xff1a;POJ 3764题目大意&#xff1a; 在树上找一段路径&#xff08;连续&#xff09;使得边权相异或的结果最大。前置技能&#xff1a; 1.用链式前向星建图。 2. 01字典树的应用。思路&#xff1a; 本题用 vector数组建图是会超时的&#xff0c;所以只能用链式前向…

二叉树的路径总和

/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*//*给定一个二叉树和一个目标和&#xff0c;找到所有从根节点到叶子节点路径总和等于…

图论基础(邻接矩阵,邻接表,深度优先遍历,连通分量)的实现

DenseGraph.h.表示邻接矩阵实现的图&#xff0c;一般邻接矩阵用于较为稠密的图 #ifndef DenseGraph_h #define DenseGraph_h#include <iostream> #include <vector> #include <cassert>using namespace std; //稠密图 --邻接矩阵 class DenseGraph { privat…

1034 Head of a Gang (30 分)

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析知识点词汇CODE原题目&#xff1a; 1034 Head of a Gang (30 分).题意 警察通过犯罪团伙成员间的通话时长来判断头目。 一个犯罪团伙至少有3人&#xff0c;彼此间的总权值&#xff08;通话时长&#xff09;…

codeforces 913C Party Lemonade (贪心 + DFS)

传送门&#xff1a;codeforces 913C 题目大意&#xff1a; 有 n 种柠檬汁&#xff0c;第 i 种每瓶的容量为 2^(i-1) 升&#xff0c;价格为 Ci&#xff0c;问至少买 L 升柠檬汁最少花多少钱&#xff1f; 思路&#xff1a; 一看题&#xff0c;第一感觉是 DP&#xff0c;但是由…

codeforces 915C Permute Digits (DFS)

感觉放个假自己脑子要锈掉了……差点连 DFS都不会写了……还是得 keep coding~ 传送门&#xff1a;Permute Digits 题目大意&#xff1a; 给你两个数 a和 b&#xff0c;可以打乱 a每位数的顺序&#xff0c;让你求满足 <b 的最大值。保证结果一定存在。 思路&#xff1a; …

2017年省赛javaA组 1题----迷宫()

public class TestOne {static String[] mg new String[10]; //迷宫数组static int ans 0; //记录结果static int[][] vis new int[10][10]; //访问数组public static void main(String[] args) {//1.输入迷宫数组mg[0] "UDDLUULRUL";mg[1] "UURLLLRRRU&qu…

深度优先搜索(DFS):POJ2718--Smallest Difference(解三)

本题题意是把所给数分为两个非空集合&#xff0c;分别用这两个集合组成两个数&#xff0c;求组成数的最小绝对值。显然这是一条穷竭搜索的题目&#xff0c;而深度优先搜索是最常用的方法。在解法二中&#xff0c;我使用了标准库函数next_permutation(),解法三中我将自己用深搜实…

15. 二进制枚举子集(动态规划会用到)---例题李白打酒

一、二进制枚举子集 二、位运算 三、例题1&#xff1a;李白打酒 分析&#xff1a; 代码&#xff1a; import java.util.Scanner;public class Main {/*初始:2斗酒* 遇店 *2* 遇花 -1* (共遇店5次,遇花10次,最后一次遇花,正好把酒喝完)* 把最后一次去掉,只需考虑前14次…

14.dfs的剪枝策略练习---因数最多的数(未做)

题目&#xff1a; 分析&#xff1a; 求数n的因数个数&#xff1a;&#xff08;1&#xff09;先将数n分解成 质数幂次相乘的形式&#xff1b;&#xff08;例如n24&#xff0c;24 2^3 * 3^1&#xff09; &#xff08;2&#xff09;再把各个幂次加1&#xff0c;相乘。结果即为数…

leetcode----给定一个二叉树和一个值 sum,请找出所有的根节点到叶子节点的节点值之和等于sum 的路径,

import java.util.*;/** public class TreeNode {* int val 0;* TreeNode left null;* TreeNode right null;* }*/public class Solution {/*** * param root TreeNode类 * param sum int整型 * return int整型ArrayList<ArrayList<>>思路&#xff1a;使用…

1126 Eulerian Path (25 分)*

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析CODE原题目&#xff1a; 1126 Eulerian Path (25 分).题意 如果⼀一个连通图的所有结点的度都是偶数&#xff0c;那么它就是Eulerian&#xff0c;如果除了了两个结点的度是奇数其他都是偶数&#xff0c;那么…

再谈 优先搜索(3)

前面的几篇文章里面&#xff0c;写了几道关于DFS和BFS的代码&#xff0c;了解了相关的题型&#xff0c;后来了解到优先搜索是一个大文章&#xff0c;所以今天接着来写一写。优先搜索一般有DFS和BFS,这两种一般又分别和树、图联系在一起考察&#xff0c;所以知识点比较多&#x…

走方格(蓝桥杯C/C++B组真题详解)

题目&#xff1a; 在平面上有一些二维的点阵。 这些点的编号就像二维数组的编号一样&#xff0c;从上到下依次为第 1 至第 n 行&#xff0c;从左到右依次为第 1 至第 m列&#xff0c;每一个点可以用行号和列号来表示。 现在有个人站在第 1 行第 1 列&#xff0c;要走到第 n 行第…

图论——环检测

文章目录图论——环检测问题分析代码图论——环检测 问题分析 检测上图是否有环其实也相当简单&#xff0c;只要dfs的过程发现某个顶点的邻接顶点已经访问过了&#xff0c;就说明有环&#xff0c;除此之外&#xff0c;还要排除一种情况&#xff0c;如下&#xff1a; 例如从0开…

图论——单源路径问题

文章目录图论——单源路径问题问题分析代码指定终点代码图论——单源路径问题 问题分析 对于本小节&#xff0c;我们只讨论简单无向无权图的单源路径问题。 单源路径是指从某个给定顶点出发找到一条路径到其他顶点&#xff0c;其实在dfs或者bfs的过程中我们已经遍历了每个顶…

图论——连通分量

文章目录图论——连通分量连通分量介绍DFS计算连通分量BFS计算连通分量图文件graph.txt建图类图论——连通分量 连通分量介绍 对于上图很显然连通分量为1&#xff0c;对于下图连通分量个数为2 DFS计算连通分量 通过上一小节dfs遍历的过程我们知道依次dfs就是一个连通分量&…

floodfill问题——飞地的数量

文章目录floodfill问题——飞地的数量问题描述思路代码floodfill问题——飞地的数量 问题描述 给出一个二维数组 A&#xff0c;每个单元格为 0&#xff08;代表海&#xff09;或 1&#xff08;代表陆地&#xff09;。 移动是指在陆地上从一个地方走到另一个地方&#xff08;…

floodfill问题——岛屿的最大面积

文章目录floodfill问题——岛屿的最大面积问题描述思路代码扩展floodfill问题——岛屿的最大面积 问题描述 题目来自Leetcode695题 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的…

牛客 剑指offer 机器人的运动范围

题目 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动&#xff0c;每一次只能向左&#xff0c;右&#xff0c;上&#xff0c;下四个方向移动一格&#xff0c;但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如&#xff0c;当k为18时&#xff0c;机器人能…

1043 Is It a Binary Search Tree (25 分)*

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析CODE原题目&#xff1a; 1043 Is It a Binary Search Tree (25 分).题意 给出BST的结点数N以及其结点序列&#xff08;经递增排序后可得BST中序序列&#xff09;&#xff0c; ① 要求判断给出的序列是否是B…

1099 Build A Binary Search Tree (30 分)*

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析CODE原题目&#xff1a; 1099 Build A Binary Search Tree (30 分).题意 给出一棵二叉搜索树每个结点的左右孩子&#xff0c;根结点ID为0&#xff0c;要求插入数值&#xff0c; &#x1f449;输出层序遍历序…

与反素数有关的3个题目

前置技能&#xff1a; 1.反素数&#xff0c;推荐博客&#xff1a;ACdreamers讲解反素数。定义&#xff1a;对于任何正整数 n ,其约数的个数记做 f(n) .例如 f(1) 1, f(6) 4 .如果某个正整数n满足&#xff1a;对于任意 i ( 0 < i < n ) ,都有 f( i ) < f( n ),则称 …

Educational Codeforces Round 109

D题就是个搜索居然没有发现 题目大意&#xff1a;先输入一个数n&#xff0c;在输入n个数由0 1构成&#xff0c;从1到0的价值是它们下表差的绝对值&#xff0c;问将所有的1移动到0的最小价值总和是多少(1不能移动到前一个1移走的位置)。 题解&#xff1a;将输入的0和1分别用两个…

首个公共祖先 First Common Ancestor

文章目录首个公共祖先 First Common Ancestor思路Tag首个公共祖先 First Common Ancestor 如何找出二叉树中某两个节点的第一个共同祖先。不得将其他的节点存储在另外的数据结构中。不一定是BST [3,4,1,6,2,9,8,null,null,7,5], p 6, q 2 公共祖先就是4 p6,q 5,公共祖先就…

1106 Lowest Price in Supply Chain (25 分) 全网最细 题目详解 翻译 完整代码 PAT甲级真题解析

此题与1090 Highest Price in Supply Chain (25 分)极为相似&#xff0c;详细解析请戳链接。 1106 Lowest Price in Supply Chain&#xff08;20分&#xff09;预备知识&#xff1a;题目翻译&#xff1a;题目解析&#xff1a;逻辑梳理&#xff1a;参考代码&#xff1a;预备知识…

2017年蓝桥杯决赛(第八届)[c/c++B组]

文章目录1. 36进制2. 磁砖样式3. 希尔伯特曲线4. 发现环输入输出1. 36进制 对于16进制&#xff0c;我们使用字母A-F来表示10及以上的数字。 如法炮制&#xff0c;一直用到字母Z&#xff0c;就可以表示36进制。 36进制中&#xff0c;A表示10&#xff0c;Z表示35&#xff0c;AA…

1079 Total Sales of Supply Chain (25 分)*

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析CODE原题目&#xff1a; 1079 Total Sales of Supply Chain (25 分).题意 给出供应链的成员总数N&#xff08;0-N-1&#xff09;&#xff0c;根供应商给的价格P&#xff0c;增长率r&#xff0c;以及来自供应…

1102 Invert a Binary Tree (25 分) 全网最细 题目详解 翻译 完整代码 PAT甲级真题解析

1102 Invert a Binary Tree&#xff08;25分&#xff09;预备知识&#xff1a;题目翻译&#xff1a;题目解析&#xff1a;逻辑梳理&#xff1a;参考代码&#xff1a;预备知识&#xff1a; stoi() 函数的用法&#xff1b;DFS中序遍历二叉树&#xff1b;用结构体数组存储二叉树。…

信息学奥赛一本通 1216:红与黑 dfs搜索 (耙耙)

1216&#xff1a;红与黑 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 10821 通过数: 4276 【题目描述】 有一间长方形的房子&#xff0c;地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上&#xff0c;只能向相邻的黑色瓷砖移动。请写一个程序&#xff…

信息学奥数一本通 1212:LETTERS 搜索与回溯(耙耙)

1212&#xff1a;LETTERS 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 11866 通过数: 5252 【题目描述】 给出一个roecol的大写字母矩阵&#xff0c;一开始的位置为左上角&#xff0c;你可以向上下左右四个方向移动&#xff0c;并且不能移向曾经经过的字母。问最多可以经过…

1090 Highest Price in Supply Chain (25 分) 全网最细 题目详解 翻译 完整代码 PAT甲级真题解析

1090 Highest Price in Supply Chain&#xff08;25分&#xff09;预备知识&#xff1a;题目翻译&#xff1a;题目解析&#xff1a;逻辑梳理&#xff1a;参考代码&#xff1a;预备知识&#xff1a; 二叉树的深度优先搜索 题目翻译&#xff1a; 供应链是一个由零售商、经销商和…

1091 Acute Stroke (30分)[BFS]

原题链接 广度优先探索 还是比较有套路的 我错主要是错在了cnt的位置 要在弹出去之前cnt 还有要注意深度防爆栈inq[1290][130][61] AC代码&#xff1a; #include <iostream> #include <cstdio> #include <queue> using namespace std; const int maxn 1290…

L2-031 深入虎穴 (25 分)

memset(visit, true, sizeof(visit));报错 添加#include <cstring>头文件 我以前怎么没发现这个问题 以为是逻辑错误卡了半天 加个头文件就啥事没有了 我一直以为memset是memory头文件里的。。 老爷爷看手机.jpg #include <iostream> #include <cstring> #i…

L2-020 功夫传人 (25分)

想想是不是因为忘记存值导致结果不对 还有注意理解递归里的return #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; //const int maxn 100010; struct node {double data,v,power;vector<in…

继续修炼——从一种状态到另一种状态的最短路径

继续修炼——从一种状态到另一种状态的最短路径(续三) 参考继续修炼——从一种状态到另一种状态的最短路径(再续) 用C++再写一遍: #include <iostream> #include<deque> #include<time.h> using namespace std; void dfs(string s)

从中序和后序遍历构造二叉树(递归)

题目描述 给出一棵树的中序遍历和后序遍历&#xff0c;请构造这颗二叉树 注意&#xff1a; 保证给出的树中不存在重复的节点 思路 思路很容易想&#xff0c;但是能不能顺利写出代码来又是另外一回事。我使用了开区间后序遍历的左右子树的区分应该由中序遍历得到的左子树长度来…

1106 Lowest Price in Supply Chain (25 分)*

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析CODE原题目&#xff1a; 1106 Lowest Price in Supply Chain (25 分).题意 给出供应链成员个数n&#xff08;0~n-1&#xff09;以及根供应商的价格P和提价率r&#xff0c;接着给出0-(n-1)供应商的直接经销商…

1090 Highest Price in Supply Chain (25 分)*

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析知识点CODE注意点原题目&#xff1a; 1090 Highest Price in Supply Chain (25 分).题意 在树根处货物的价格为P&#xff0c;然后每往下走一层&#xff0c;价格增加r%。 → 给出供应商成员数N&#xff0c;价…

1110 Complete Binary Tree (25 分)

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析知识点CODE原题目&#xff1a; 1110 Complete Binary Tree (25 分).题意 给出n个结点&#xff08;0~n-1&#xff09;的左右孩子&#xff0c; &#x1f449;判断这棵树是否是完全二叉树。 分析 关键逻辑&a…

11. dfs剪枝策略练习---全排列

代码&#xff1a; import java.util.Scanner;public class Main {/** 思路&#xff1a; 测试数据 2 正常输出&#xff1a; 2 12 21 * */static int n;//nstatic int[] a;public static void main(String[] args){//1.输入相关值Scanner sc new Scanner(System.in);n sc.next…

N皇后问题 ——Java

N皇后问题 ——Java 在N*N的方格棋盘放置了N个皇后&#xff0c;使得它们不相互攻击&#xff08;即任意2个皇后不允许处在同一排&#xff0c;同一列&#xff0c;也不允许处在与棋盘边框成45角的斜线上。 你的任务是&#xff0c;对于给定的N&#xff0c;求出有多少种合法的放置方…

10. dfs剪枝策略练习----找数字

题目&#xff1a; 代码&#xff1a; import java.util.Scanner;public class Main {/** 思路&#xff1a; 测试数据 2 正常输出&#xff1a; 10* */static int n;//N个员工&#xff0c;每个员工只做一项任务static boolean ok;//标记是否找到解public static void main(String…

1090 Highest Price in Supply Chain (25分)

原题链接 树图结合 DFS 更新路径 跟上道题蛮像 注意r r/100 #include <iostream> #include <vector> #include <math.h> using namespace std; const int maxn 100010; double p, r; struct node {int depth;vector<int> child; }Node[maxn]; int …

2.奇偶性剪枝

题目&#xff1a; 分析&#xff1a; 代码&#xff1a; import java.util.ArrayList; import java.util.Scanner;public class Main {/** 最优性剪枝&#xff08;每次遍历将 多于 当前最优解步数的 直接剪掉&#xff09;* 问题&#xff1a;找出起点S到终点T的最少步数 测试数据1…

1. 蓝桥杯国赛训练营--深度优先搜索--迷宫游戏

&#xff08;1&#xff09;题目&#xff1a; 思路&#xff1a; 代码&#xff1a; import java.util.ArrayList; import java.util.Scanner;public class Main {/* 测试数据1 3 4 S**. .... ***T测试数据2 5 6 ....S* .***.. .*..*. *.***. .T....* */static char[][] g;static…

8.12 动态规划例题---数字三角形。 对于动态规划,根据依赖关系,先求被依赖的部分

题目&#xff1a; 解法一&#xff1a;递归 import java.util.Arrays; import java.util.Scanner;public class Main {/* * 思路&#xff1a;* 通过深度优先遍历&#xff0c;从上往下进行查找* 每次将当前点作为起点&#xff0c;寻找最长路径。该点该点往后的最长路径 测试数据&…

acwing 168 生日蛋糕(DFS剪枝)

题面 题解 蛋糕从下往上搜索&#xff0c;上表面积就是最底层的圆面积&#xff0c;求解过程注重 侧面积和体积即可 代码 #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> #include<cmath>us…

acwing 166 数独(DFS剪枝)

题面 题解 通过位运算表示描绘出当前的局面&#xff0c;某一行某一列某一某一宫格均用1个长度是9为的二进制数表示&#xff0c;若当前位置是1表示该行该列或者该宫格可填入 在选择当前需要填数的位置时&#xff0c;选择分支最少的格子 state row[x] & col[y] & cell[x…

8.11 动态规划例题-----钢条切割(从递归--> 记忆型递归---->动态规划)

题目&#xff1a; 已知钢条总长i 和 每种长度下的钢条价格&#xff0c;让我们找到一种切割方案&#xff0c;使得价格最大 解法一&#xff1a;递归 import java.util.Arrays; import java.util.Scanner;public class Main {/* * 思路&#xff1a;假设钢条长度为L* 依次固定前面…

PTA 1090 Highest Price in Supply Chain

题目描述 分析&#xff1a;树的遍历&#xff0c;找出价值最大的结点。 DFS #include<cstdio> #include<vector> using namespace std; const int maxn100005; vector<int> G[maxn]; double s[maxn],maxprice0; double R,P; int maxnum0; void DFS(int v){i…

luogu P3956 [NOIP2017 普及组] 棋盘

题目描述 有一个mm的棋盘&#xff0c;棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在要从棋盘的最左上角走到棋盘的最右下角。 任何一个时刻&#xff0c;你所站在的位置必须是有颜色的&#xff08;不能是无色的&#xff09;&#xff0c; 你只能向上、 下、左、 右…

PAT 1004 Counting Leaves

题目描述 此题是输出每层有多少个叶子节点&#xff0c;可以采用DFS和BFS两种方法进行&#xff08;由于长时间不练习相关题目。这么简单的题也不能很快做出来&#xff0c;菜 &#xff09; 此题是搜索基础题&#xff0c;需要多多练习&#xff0c;多多回顾 DFS #include<io…

1004 Counting Leaves (30 分)

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析知识点词汇CODE注意点&1 vector用resize定义大小时&#xff0c;不能用push_back扩展成二维数组原题目&#xff1a; 1004 Counting Leaves (30 分) 题意 给出结点树N以及非叶结点数M&#xff1b;随后&am…

acwing 842 排列数字 (dfs)

题面 题解 DFS 从开始填数字&#xff0c;标记出已经放入的数字&#xff0c;然后回溯&#xff0c;每次搜索到第三层输出答案即可 代码 #include<bits/stdc.h>using namespace std; const int N 10;int n; int path[N]; bool st[N];void dfs(int u) {if (u n) {for (int…

1020 Tree Traversals (25 分)

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析知识点CODE原题目&#xff1a; 1020 Tree Traversals (25 分) 题意 给出二叉树结点数N以及后序和中序序列&#xff08;无重复值&#xff09;&#xff0c; &#x1f449;输出层序序列。 分析 &1 法一&…

1086 Tree Traversals Again (25 分)

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析知识点string类~scanf函数词汇CODE原题目&#xff1a; 1086 Tree Traversals Again (25 分) 题意 给出结点总数N&#xff08;1-N&#xff09;&#xff0c;接下来2N行给出堆栈的入栈和出栈操作&#xff0c; …

1013 Battle Over Cities

题目来源&#xff1a;PAT (Advanced Level) Practice 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 …

每日一搜——poj搜索题目分类

一些好题目POJ 1190 – 生日蛋糕(基础&#xff0c;好题) http://acm.pku.edu.cn/JudgeOnline/problem?id1190 题意&#xff1a;略 解法&#xff1a;dfs&#xff0c;题偏简单&#xff0c;但做出来还是有些感觉的 POJ 1376 – Robot(基础) http://acm.pku.edu.cn/JudgeOnline/pr…

【蓝桥杯】 历届试题 危险系数(DFS、割点)

历届试题 危险系数 问题描述 抗日战争时期&#xff0c;冀中平原的地道战曾发挥重要作用。 地道的多个站点间有通道连接&#xff0c;形成了庞大的网络。但也有隐患&#xff0c;当敌人发现了某个站点后&#xff0c;其它站点间可能因此会失去联系。 我们来定义一个危险系数DF(x,y…

多级分销对接第三方API获取数据系统的优化

最近在做一个基于有赞的多级分销管理系统&#xff0c;所有成员的店面均在有赞商城&#xff0c;使用有赞API获得他们的业绩&#xff0c;但是有赞提供的分销只有一级&#xff0c;故制作该系统。考虑到减轻工作量&#xff0c;理清层次关系&#xff0c;采用了OOP设计方法&#xff0…

Codeforces Round #736 (Div. 2)

A. Gregor and Cryptography 构造... #include <bits/stdc.h> #define all(a) a.begin(),a.end() #define pb push_back using namespace std; using ll long long ; void solve() {ll p;cin>>p;for(ll i2;i*i<p;i){if(p%i0){cout<<i<<" &quo…

Poj 1321 棋盘问题 ( DFS

棋盘问题Time Limit: 1000MSMemory Limit: 10000KTotal Submissions: 40249Accepted: 19640Description在一个给定形状的棋盘&#xff08;形状可能是不规则的&#xff09;上面摆放棋子&#xff0c;棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列&…

1103 Integer Factorization (30分)/DFS专题

PAT习题 169 5 2输出&#xff1a; 169 6^2 6^2 6^2 6^2 5^2要抛开问题看本质&#xff0c;其实就是简单的可重复选择的选数问题&#xff0c;DFS老经典问题了 不可以害怕&#xff01; 注意点&#xff1a; 1、预处理不超过n的数&#xff0c;用数组存储 还有要存0&#xff0c…

7.9 dfs竞赛题-----困难的串

import java.util.Scanner;public class Main {/**思路&#xff1a;每次按字典序往前缀中加字母&#xff0c;如果合法&#xff0c;就将字母加入&#xff0c;并打印 和 记录当前的已找到的困难串顺序*&#xff08;1&#xff09;dfs(prefix) 初始时前缀prefix""* 依次…

7.7 回溯和剪枝小结----n皇后问题(深搜)

剪枝&#xff1a;在递归之前进行if判断&#xff0c;如果不满足限定条件&#xff0c;则剪枝 例题&#xff1a;n皇后问题 例如4皇后问题&#xff08;依次考虑每一列&#xff0c;分别将第一个皇后放在a[0][0]、a[0][1]、a[0][2]、a[0][3]&#xff09; 可得最后只有良种合法的排列…

7.6 dfs竞赛例题---水洼数(经典题!最后背下!)

import java.util.Scanner;public class Main {/*思路&#xff1a;* &#xff08;1&#xff09;从头开始进行遍历&#xff0c;寻找第一个积水W* &#xff08;1.1&#xff09;从该处进行dfs遍历&#xff0c;* 寻找其8个方向是否有积水W&#xff0c;如果存在将其改为…

1155 Heap Paths (30 分)

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析知识点词汇CODE原题目&#xff1a; 1155 Heap Paths (30 分).题意 给出一棵完全二叉树的层序遍历序列&#xff08;无重复数值&#xff09;&#xff0c; ① 打印出所有叶子节点到根节点的路径&#xff0c;并…

Long integer Adder-大整数相加

Long integer Adder-大整数相加以字符读取&#xff0c;然后翻转&#xff0c;相加输出。//Long integer Adder #include<iostream> #include<cstdlib> using namespace std;void input(int a[],int b[],int& size1,int& size2); void process(int a[],int b…

The Area of an Arbitrary Triangle-任意三角形的面积

The Area of an Arbitrary Triangle-任意三角形的面积,允许重复计算://The Area of an Arbitrary Triangle-任意三角形的面积 #include<iostream> #include<cmath> using namespace std;bool IsTriangle(double a,double b,double c); void areafun(double a,doubl…

第十二届蓝桥杯第一场G.砝码称重

你有一架天平和 N 个砝码&#xff0c;这 N 个砝码重量依次是 W1,W2,⋅⋅⋅,WN。 请你计算一共可以称出多少种不同的正整数重量&#xff1f; 注意砝码可以放在天平两边。 输入格式 输入的第一行包含一个整数 N。 第二行包含 N 个整数&#xff1a;W1,W2,W3,⋅⋅⋅,WN。 输出…

n皇后问题,dfs解决.非最优化版本

import java.util.Scanner;public class NQueen {public static int N; // 棋盘的大小public static int ans 0; // 答案// dfs剪枝public static void main(String[] args) {Scanner scanner new Scanner(System.in);N scanner.nextInt();int[] grid new int[N]; // 下标行…

【蓝桥杯】 2018年决赛C/C++B组 #2 激光样式(动态规划、DFS)

2018决赛真题C/CB组 激光样式 问题描述 x星球的盛大节日为增加气氛&#xff0c;用30台机光器一字排开&#xff0c;向太空中打出光柱。 安装调试的时候才发现&#xff0c;不知什么原因&#xff0c;相邻的两台激光器不能同时打开&#xff01; 国王很想知道&#xff0c;在目前这种…

图里查找经过某一顶点的所有简单回路,DFS深度优先,c/c++描述

深度优先遍历&#xff0c;是遍历图的一种思路&#xff0c;用递归的方法&#xff0c;依次遍历完给定顶点的所有子图&#xff0c;因为我们不能叫做该顶点的所有子树。子图就是依该顶点的邻接点为代表的子图。遍历过程中&#xff0c;不允许出现重复顶点&#xff0c;直至路径结束&a…

Lake Counting (POJ No.2386)

题意&#xff1a;有一个M*N的圈子&#xff0c;雨后有积水&#xff0c;然后八个方位相联通的被认为是连接在一起的。请求出圈子里共有多少个水洼。 思路&#xff1a;这个题目我们很明显可以用并查集来做&#xff0c;但是这个章节是属于DFS&#xff0c;所以我们用DFS来考虑&…

信息学奥赛一本通 1217:棋盘问题 dfs搜索 (耙耙)

1217&#xff1a;棋盘问题 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 7191 通过数: 3369 【题目描述】 在一个给定形状的棋盘&#xff08;形状可能是不规则的&#xff09;上面摆放棋子&#xff0c;棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一…

Lake Counting【DFS】练习

Lake Counting时间限制&#xff1a;1000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;3描述:由于最近的降雨&#xff0c;农民约翰的田地里的水聚集在不同的地方&#xff0c;用一个nm(1≤n≤100&#xff1b;1 < m < 100)平方。每个正方形包含水( ‘ w ’ )或旱地( …

【图解算法】这个课程表大不简单——拓扑排序

引言 >_< 现在需要为学生排好一张课表&#xff08;课程的学习顺序&#xff09; 可事情没有这么简单&#xff1a; 课程前驱课程课程0课程1课程0、课程4课程2课程3课程0课程4课程5课程3课程6课程3不妨画成一张图&#xff08;Graph&#xff09;试试看&#xff1f; 我们意…

蓝桥杯题目-寒假作业

寒假作业 现在小学的数学题目也不是那么好玩的。 看看这个寒假作业&#xff1a; 每个方块代表1~13中的某一个数字&#xff0c;但不能重复。 比如&#xff1a; 6 7 13 9 - 8 1 3 * 4 12 10 / 2 5 以及&#xff1a; 7 6 13 9 - 8 1 3 * 4 12 10 / 2 5 就算两种解法。&…

C++ Easy Chess

题目描述 Elma is learning chess figures. She learned that a rook can move either horizontally or vertically. To enhance her understanding of rook movement Elma’s grandmother gave Elma an 8 8 chess board and asked her to find a way to move the rook from a…

C++ Cow Beauty Pageant (Bronze)

题目描述 Hearing that the latest fashion trend was cows with two spots on their hides, Farmer John has purchased an entire herd of two-spot cows. Unfortunately, fashion trends tend to change quickly, and the most popular current fashion is cows with only o…

poj2083分图形-c++ dfs

题目描述 分形&#xff08;Fractal&#xff09;通常被定义为“一个粗糙或零碎的几何形状&#xff0c;可以分成数个部分&#xff0c;且每一部分都&#xff08;至少近似地&#xff09;是整体缩小后的形状”&#xff0c;即具有自相似的性质。例如一棵蕨类植物&#xff0c;仔细观察…

codeforces 1526 B.I Hate 1111

题面 题意 给你一个数&#xff0c;判断它能否由11&#xff0c;111&#xff0c;1111&#xff0c;11111 …组成 题解(打表) 我们通过dfs打表发现&#xff0c;大于10000的数都是可以由题中所给条件组成的&#xff0c;所以我们只需要存放10000的数进行判断即可。 代码 #include<…

acwing 171 送礼物(双向DFS)

题面 题解(双向DFS) 看给定数据范围&#xff0c;如果用01背包来做&#xff0c;时间复杂度是O(nv) ,v是231,肯定超时&#xff0c;我们考虑DFS来做&#xff0c;但是直接搜索状态就会有246,还是超时&#xff0c;正解采用双向DFS 大体思想&#xff1a;我们先预处理出前n/2个物品所能…

acwing 1117 单词接龙 (dfs搜索顺序)

题面 题解(DFS搜索顺序) 两个字符串拼接&#xff0c;重合部分越短&#xff0c;拼接起来的字符串就越长&#xff0c;因此我们处理出所有单词两两拼接起来重合部分最短且符合条件的最小重合长度 , g[i][j]表示第i个单词和第j个单词重合的最小长度 我们从给定的字母符合的单词开始…

acwing 1116 马走日 (DFS顺序搜索)

题面 题解 因为是每个状态的顺序搜索&#xff0c;所以dfs之后要记得还原 代码 #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm>using namespace std; const int N10;int t,n,m,sx,sy; bool st[N]…

acwing 1113红与黑 (Flood Fill 模型)

题面 题解 Flood Fill 模型&#xff0c;用dfs来求连通块&#xff0c;因为是内部搜索&#xff0c;不需要还远状态 代码 #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm>using namespace std; cons…

剑指 offer acwing 18 重建二叉树(DFS)

题面 题解 前置知识 &#xff1a;遍历方式是根据 根节点 的位置分类的 &#xff0c;前序遍历&#xff08;根左右&#xff09;中序遍历&#xff08;左根右&#xff09; 后序遍历&#xff08;左右根&#xff09;&#xff0c;对于树的层次遍历 &#xff0c;就是按找BFS的方式遍历&…

acwing 860 染色法判定二分图

题面 题解 二分图定义&#xff1a;图中点可分为两个集合&#xff0c;每个集合中的点互不相邻 二分图性质&#xff1a;当且仅当图中不含奇数环(充要条件) 2. 对于染色过程&#xff0c;我们用树/图的深度遍历&#xff0c;如果当前节点没有染色&#xff0c;就将其染成1&#xff0c…

算法竞赛进阶指南---0x16(Trie) The xor-longest Path

题面 输入样例 4 0 1 3 1 2 4 1 3 6 输出样例 7 题解 如图&#xff0c;给定一颗树&#xff08;不一定是二叉树&#xff09;&#xff0c;树中每条边都有对应的权值&#xff0c;任意两个点都是能互相到达的&#xff0c;让我们找两个点路径异或和最大&#xff0c;现在一看到异或和…

2020 ICPC·小米邀请赛 决赛 Rikka with Composite Number

原题链接 题意 给定一个集合D{1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;8&#xff0c;9}&#xff0c;一个数C0&#xff0c;执行操作 CC10d&#xff08;集合D中的一个数&#xff0c;选中的概率相同&#xff09;&#xff0…

洛谷P1605——DFS迷宫问题

原题链接 给定一个N*M方格的迷宫&#xff0c;迷宫里有T处障碍&#xff0c;障碍处不可通过。给定起点坐标和终点坐标&#xff0c;问: 每个方格最多经过1次&#xff0c;有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式&#xff0c;每次只能移动一个方格。数…

搜索之BFS

BFS BFS是宽度优先遍历&#xff0c;主要思想就是按层搜索&#xff0c;一般用于解决路径最短问题 模板题 原题链接 给定一个n*m的二维整数数组&#xff0c;用来表示一个迷宫&#xff0c;数组中只包含0或1&#xff0c;其中0表示可以走的路&#xff0c;1表示不可通过的墙壁。 …

凑平方数

题目描述 题目来源&#xff1a;2016蓝桥杯国赛 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 把 0 ~ 9 这 10个数字&#xff0c;分成多个组&#xff0c;每个组恰好是一个平方数&#xff0c;这是能够办到的。 比如&#…

1103 Integer Factorization (30point(s))

1103 Integer Factorization (30point(s)) The K−P factorization of a positive integer N is to write N as the sum of the P-th power of K positive integers. You are supposed to write a program to find the K−P factorization of N for any positive integers N, …

搜索之DFS

整体思想 两个操作 剪枝 所谓优化剪枝策略&#xff0c;就是判断当前的分支树是否符合问题的条件&#xff0c;如果当前分支树不符合条件&#xff0c;那么就不再遍历这个分支里的所有路径。 回溯 DFS中一般指搜索完成后&#xff0c;返回前一个位置继续搜索操作 经典模板 全排列…

Week8 作业 C - 班长竞选 SCC Kosaraju HDU - 3639

题目描述 大学班级选班长&#xff0c;N 个同学均可以发表意见 若意见为 A B 则表示 A 认为 B 合适&#xff0c;意见具有传递性&#xff0c;即 A 认为 B 合适&#xff0c;B 认为 C 合适&#xff0c;则 A 也认为 C 合适 勤劳的 TT 收集了M条意见&#xff0c;想要知道最高票数&am…

Week6 作业 A - 氪金带东 HDU - 2196 DFS

题目 实验室里原先有一台电脑(编号为1)&#xff0c;最近氪金带师咕咕东又为实验室购置了N-1台电脑&#xff0c;编号为2到N。每台电脑都用网线连接到一台先前安装的电脑上。但是咕咕东担心网速太慢&#xff0c;他希望知道第i台电脑到其他电脑的最大网线长度&#xff0c;但是可怜…

JavaScript数据结构-7-2图深度优先搜索

深度优先搜索类似二叉树的先序遍历&#xff0c;下面给出递归和非递归的两种形式 栈的类是import而来&#xff0c;栈的源码可以查看https://blog.csdn.net/qq_34153210/article/details/104114445 各位有什么递归转换栈的套路&#xff1f; <!DOCTYPE html> <html>…

CSP-M1 补题 C - 可怕的宇宙射线 Gym - 270437F

时间与内存限制 每个测试点 1000ms 262144KB 题目描述 众所周知&#xff0c;瑞神已经达到了CS本科生的天花板&#xff0c;但殊不知天外有天&#xff0c;人外有苟。在浩瀚的宇宙中&#xff0c;存在着一种叫做苟狗的生物&#xff0c;这种生物天生就能达到人类研究生的知识水平&am…

洛谷P2036-perket

题目描述 Perket 是一种流行的美食。为了做好 Perket&#xff0c;厨师们必须小心选择配料&#xff0c;以便达到更好的口感。你有N种可支配的配料。对于每一种配料&#xff0c;我们知道它们各自的酸度 S 和甜度 B。当我们添加配料时&#xff0c;总的酸度为每一种配料的酸度总乘…

Week3 作业 A - 选数问题 Gym - 270437C

题目描述 Given n positive numbers, ZJM can select exactly K of them that sums to S. Now ZJM wonders how many ways to get it! Input The first line, an integer T<100, indicates the number of test cases. For each case, there are two lines. The first lin…

图和深度优先搜索: 下午茶时间 (耙耙)

考虑图上的点是否能到达。 vis[i][j] 数组就是 从i能否到达j #include<bits/stdc.h> using namespace std; bool vis[1005][1005]; vector<int> g[1005]; void dfs(int u, int x){vis[u][x] true; // vis[x][u] true; // 为什么不能同时加上这话 for(int i0;…

1- n , n个数的全排列(dfs)

这个模板呢可以应用于许多地方&#xff0c;例如&#xff1a;一串字符的全排列&#xff1b;或者给你一段字符或者数字&#xff0c;然后让你找到一组或者多组满足特定要求的 排列&#xff1b;给你一组数&#xff0c; 然后让你求相邻两个数有特定关系的排列&#xff1a;等等许多类…

SHUOJ 1556三角迷宫(DFS)

题目&#xff1a;SHUOJ-1556 题目链接&#xff1a;http://202.121.199.212/JudgeOnline/problem.php?id1556 题目&#xff1a; 1556: 三角迷宫 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 309 Solved: 226[Submit][Status][Web Board]Description 这里有45个数字组成…

HDU-1016 Prime Ring Problem (DFS)

题目:HDU 1016 题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1016 题目&#xff1a; Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 37741 Accepted Submission(s): …

【Java代码】DFS,BFS,并查集,二分法总结

最近没有更新博客&#xff0c;因为博主大部分的时间都在准备算法&#xff0c;备战蓝桥杯&#xff0c;学的比较琐碎&#xff0c;所以也不太好写博客总结。 经过一段时间的学习&#xff0c;总结一下自己这段时间的算法学习吧&#xff01; DFS 什么是DFS呢&#xff1f; DFS就是深…

九度 题目1120:全排列

题目描述&#xff1a;给定一个由不同的小写字母组成的字符串&#xff0c;输出这个字符串的所有全排列。 我们假设对于小写字母有a < b < ... < y < z&#xff0c;而且给定的字符串中的字母已经按照从小到大的顺序排列。 输入&#xff1a;输入只有一行&#xff0c;是…

不撞南墙不回头——浅谈深度优先搜索(DFS)

先看看维基百科&#xff1a; 深度优先搜索算法&#xff08;英语&#xff1a;Depth-First-Search&#xff0c;DFS&#xff09;是一种用于遍历或搜索树或图的算法。这个算法会尽可能深的搜索树的分支。当节点v的所在边都己被探寻过&#xff0c;搜索将回溯到发现节点v的那条边的起…

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

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

剪绳子

1. 无大数情况下 题目描述&#xff1a; 给你一根长度为 n 的绳子&#xff0c;请把绳子剪成整数长度的 m 段&#xff08;m、n都是整数&#xff0c;n>1并且m>1&#xff09;&#xff0c;每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多…

[BFS和DFS的故事]LC257---二叉树的所有路径(左右为空说明走到尽头了)

LeetCode257题目如下思路与代码题目如下 思路与代码 二叉树&#xff0c;很熟悉&#xff0c;还是简单的二叉树&#xff0c;缪杀&#xff01; 二叉树路径直接dfs深搜就可以了啊&#xff01; /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tr…

扁平化多级双向链表

题目描述&#xff1a; 多级双向链表中&#xff0c;除了指向下一个节点和前一个节点指针之外&#xff0c;它还有一个子链表指针&#xff0c;可能指向单独的双向链表。这些子列表也可能会有一个或多个自己的子项&#xff0c;依此类推&#xff0c;生成多级数据结构&#xff0c;如下…

数据结构 图 深度优先遍历(DFS) 广度优先遍历(BFS)

图的邻接表表示法看这里 首先定义必要的辅助数组和函数 bool visited[MAX_VERTEX_NUM];//标志是否访问过template<typename VertexType, typename InfoType> int firstAdjVex(ALGraph<VertexType, InfoType>ALG, int vIndex)//寻找第一个邻接点&#xff0c;未找到…

图的广度优先遍历与深度优先遍历

介绍图的关键的搜索算法之前&#xff0c;先简单介绍下图论中图的概念&#xff0c;矩阵理论中的邻接矩阵和邻接表。 1 基本概念 1.1 图 1.1.1 定义 定义&#xff1a;图(graph)是由一些点(vertex)和这些点之间的连线(edge)所组成的&#xff1b;其中&#xff0c;点通常被成为&…

1207. 大臣的旅费(树的直径 + DFS)

1207. 大臣的旅费 很久以前&#xff0c;T王国空前繁荣。 为了更好地管理国家&#xff0c;王国修建了大量的快速路&#xff0c;用于连接首都和王国内的各大城市。 为节省经费&#xff0c;T国的大臣们经过思考&#xff0c;制定了一套优秀的修建方案&#xff0c;使得任何一个大…

搜索与图论 ---- 树与图的深度优先遍历

树与图的深度优先遍历 树的重心 给定一颗树&#xff0c;树中包含n个结点&#xff08;编号1~n&#xff09;和n-1条无向边。 请你找到树的重心&#xff0c;并输出将重心删除后&#xff0c;剩余各个连通块中点数的最大值。 重心定义&#xff1a;重心是指树中的一个结点&#x…

搜索与图论 ---- 树与图的广度优先遍历

树与图的广度优先遍历 图中点的层次 给定一个n个点m条边的有向图&#xff0c;图中可能存在重边和自环。 所有边的长度都是1&#xff0c;点的编号为1~n。 请你求出1号点到n号点的最短距离&#xff0c;如果从1号点无法走到n号点&#xff0c;输出-1。 输入格式 第一行包含两…

【剑指offer】 12. 矩阵中的路径

题目 题目传送门&#xff1a;传送门&#xff08;点击此处&#xff09; 题解 今天是六一儿童节&#xff0c;LeetCode也推出了分糖果的题目&#xff0c;真的是有心了&#xff0c;我也决定六月要好好打卡算法题了 思路 这道题的思路很容易想到&#xff0c;图的深度遍历&#x…

二叉树广度优先遍历(BFS) 深度优先遍历(DFS)

二叉树的遍历 树的遍历是一种重要的运算。所谓遍历是指对树中所有节点信息的访问&#xff0c;即一次对树中每个接地访问一次且仅访问一次&#xff0c;将这种对所有节点的访问称为遍历&#xff08;travelsal&#xff09;。    树的两种重要遍历模式是深度优先遍历&#xff08;…

洛谷 P2036 PERKET

求总酸度和总苦度的最小绝对值差&#xff0c;自行选取配料咯&#xff0c;有点麻烦。 总酸度&#xff1d;总乘积&#xff0c;所以&#xff49;&#xff4e;&#xff54; &#xff53;&#xff55;&#xff4d;&#xff11;&#xff1d;&#xff11;&#xff1b; 总苦度&#…

深度优先搜索基本模型之扑克牌放置问题

题目&#xff1a;有编号为 1&#xff0c;2&#xff0c;3 的 3 张扑克牌和编号为 1、2、3 的 3 个盒子。现在需要将这 3 张扑克牌分别放到 3 个盒子里面&#xff0c;并且每个盒子有且只能放一张扑克牌&#xff0c;共有多少种不同的放法&#xff1f; 代码演示&#xff1a; publ…

数据结构思维笔记(七) 树的遍历

本章将介绍一个 Web 搜索引擎&#xff0c;我们将在本书其余部分开发它。我描述了搜索引擎的元素&#xff0c;并介绍了第一个应用程序&#xff0c;一个从维基百科下载和解析页面的 Web 爬行器。本章还介绍了深度优先搜索的递归实现&#xff0c;以及迭代实现&#xff0c;它使用 J…

dfs+链式前向星

L2-020. 功夫传人 时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越一门武功能否传承久远并被发扬光大&#xff0c;是要看缘分的。一般来说&#xff0c;师傅传授给徒弟的武功总要打个折扣&#xff0c;于是越往后传&#xff0c;弟子们的功夫就越弱………

51nod 全排列

参考了网上大神的判重方法&#xff0c; 还有用c函数next_permutation(a,an), 字符数组a是数组开始全排列的状态&#xff0c;随后字典序排列输出&#xff0c;n为长度。如果需要输出全部的排列&#xff0c;需要对字符数组a排序。 全排列的实质是将前面的数与后面不和已经使用过并…

POJ 2362 dfs 剪枝

题目大意&#xff1a;给你若干木棍的长度&#xff0c; 是否能组成正方形。 n必须大于等于4&#xff0c; sum必须能被4整除。 #include <cstring> #include <algorithm> #include <cmath> #include <queue> #include <string> #include <map&g…

二叉树系列之「树的子结构」

输入两棵二叉树A、B&#xff0c;判断 B 是不是 A 的子结构。&#xff08;ps&#xff1a;我们约定空树不是任意一个树的子结构&#xff09; /** public class TreeNode {int val 0;TreeNode left null;TreeNode right null;public TreeNode(int val) {this.val val;} } */ p…

113. 路径总和 II(DFS遍历树)

112. 路径总和(DFS遍历树) 给定一个二叉树和一个目标和&#xff0c;判断该树中是否存在根节点到叶子节点的路径&#xff0c;这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树&#xff0c;以及目标和 sum 22&#xff0c; 5…

AL游戏中的自动寻路——A*算法详解(C++实现)

目录 一、A*算法的一个应用实例&#xff1a;迷宫寻路 二、A*算法简介 三、A*算法的原理和步骤 四、算法实现 ①将用户调用的算法接口与A*算法实现接口分开 ②A*算法实现 ③寻找列表F值最小节点 ④判断指定结点是否对另一结点可达 ⑦ 寻找可达节点 ⑧A*算法完善 ⑨对可达节点的处…

分布式文件系统FastDFS实战

1. 分布式文件系统应用场景 互联网海量非结构化数据的存储需求&#xff1a; 电商网站&#xff1a;海量商品图片视频网站&#xff1a;海量视频文件网盘&#xff1a;海量文件社交网站&#xff1a;海量图片 2.FastDFS介绍 https://github.com/happyfish100/fastdfs 2.1简介 …

LeetCode第179场周赛

5352. 生成每种字符都是奇数个的字符串 n为奇数全a&#xff0c;为偶数添加1个a&#xff0c;剩余全b&#xff0c;手速题。 class Solution {public String generateTheString(int n) {StringBuilder sb new StringBuilder();if(n%2 0) {sb.append(a);for (int i 0; i < …

79. 单词搜索 面试题12. 矩阵中的路径

79. 单词搜索 面试题12. 矩阵中的路径 两个题一样 DFS&#xff0c;黄金矿工是找深搜求和&#xff0c;更新最大值&#xff0c;这个题是深搜更新状态&#xff0c;如果满足状态继续深搜&#xff0c;不满足状态返回false&#xff0c;这条路线就不再走了&#xff0c;只要有一条路…

1219. 黄金矿工

1219. 黄金矿工 把之前写的DFS稍微一改就过了&#xff0c;没有进行过多的优化&#xff0c;30ms&#xff0c;还是挺慢的 class Solution {int res Integer.MIN_VALUE;int[][] dir new int[][] { { 0, 1 }, { 0, -1 }, { 1, 0 }, { -1, 0 } };int r;int c;int[][] map;boolea…

树的深度

有关深度的题&#xff1a; 104. 二叉树的最大深度 DFS递归&#xff1a; 时间复杂度&#xff1a;O&#xff08;N&#xff09; 空间复杂度&#xff1a;最坏O&#xff08;N&#xff09;&#xff08;斜二叉树&#xff09;&#xff0c;最好O&#xff08;logN&#xff09;&#x…

841. 钥匙和房间

841. 钥匙和房间 分类是图&#xff0c;主要还是搜索吧&#xff0c;用的DFS class Solution {boolean[] vis;public boolean canVisitAllRooms(List<List<Integer>> rooms) {vis new boolean[rooms.size()];vis[0] true;return dfs(0, rooms);}public boolean d…

1161. 最大层内元素和(深搜 层次遍历)

1161. 最大层内元素和 dfs深搜&#xff0c;能比较方便的统计层数。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ class Solution {private int[] val…

深度优先遍历和广度优先遍历代码实现

直接跳到 3. 看代码&#xff0c;注释较为详细 理论知识参考 代码参考(写的太好了&#xff01;) 1. 什么是图 表示 “多对多” 的关系包含&#xff1a;1. 一组顶点&#xff1a;通常用V(vertex) 表示顶点集合&#xff1b;2. 一组边&#xff1a;通常用E(edge) 表示边的集合。 边…

【题解】导游(宁波小学2008第3题)(关于DFS和剪枝)

题目描述 宁波市的中小学生们在镇海中学参加程序设计比赛之余&#xff0c;热情的主办方邀请同学们参观镇海中学内的各处景点&#xff0c;已知镇海中学内共有n处景点。现在有n位该校的学生志愿承担导游和讲解任务。每个学生志愿者对各个景点的熟悉程度是不同的&#xff0c;如何…

LCA的最暴力解法—openjudge 1330

题目大意&#xff1a;给一棵树&#xff0c;给定两个点&#xff0c;找到他们的最近公共祖先 题目分析&#xff1a;这个题目的查询只有一次&#xff0c;我们只需要用最暴力的方法去完成就可以了 题目详解&#xff1a; 给定一棵树&#xff0c;我们想要找到他的最近公共祖先&…

codeforce 964D Destruction of a Tree[dfs]

题目大意&#xff1a;给你一棵树&#xff0c;每次只能删除度为2的结点&#xff0c;问你能否将整棵树删除&#xff0c;如果可以的话&#xff0c;就输出路径 题目分析&#xff0c;对于一棵树的某一个结点的子树来说&#xff0c;如果他的所有结点的度都是奇数&#xff0c;而该结点…

2018年全国多校算法寒假训练营练习比赛(第四场) A 石油采集

链接&#xff1a;https://www.nowcoder.net/acm/contest/76/A 来源&#xff1a;牛客网 题目描述 随着海上运输石油泄漏的问题&#xff0c;一个新的有利可图的行业正在诞生&#xff0c;那就是撇油行业。如今&#xff0c;在墨西哥湾漂浮的大量石油&#xff0c;吸引了许多商人的…

BJ模拟 第k小和(DFS+二分+折半)

Description 【问题描述】 从n个数中选若干&#xff08;至少1&#xff09;个数求和&#xff0c;求所有方案中第k小的和&#xff08;和相同但取法不同的视为不同方案&#xff09;。 【输入格式】 第一行输入2个正整数n&#xff0c;k。 第二行输入这n个正整数。 【输出格…

山科大集训_第一天(第二次比赛)

文章目录试题链接A - Park Lighting解题思路解题代码B - 免费馅饼 HDU - 1176解题思路解题代码C - Swap HDU - 2819解题思路解题代码D - 食物链 POJ - 1182解题思路解题代码E - Frogger POJ - 2253中文释义解题思路解题代码试题链接 A - Park Lighting 解题思路 非常简单的签…

山科大集训_第一天(第一次比赛)

文章目录试题链接A - Johnny and Ancient Computer CodeForces - 1362A题目详情解题思路解题代码技巧B - Garland CodeForces - 767C题目详情解题思路大致题意题解解题代码C - 哈密顿绕行世界问题 HDU - 2181题目详情解题思路解题代码D - 敌兵布阵 HDU - 1166题目详情解题思路解…

BFS和DFS遍历二叉树的Java实现

参考&#xff1a;https://blog.csdn.net/Gene1994/article/details/85097507 文章目录1 DFS1.1递归1.2 栈2 BFSDFS可以使用递归和栈实现&#xff1b;BFS只能使用队列实现。 1 DFS 1.1递归 //DFS递归实现 public void DFSWithRecursion(TreeNode root) {if (root null)retur…

图的DFS非递归实现,栈

图的DFS非递归实现&#xff0c;栈 思路 第一个结点入栈&#xff0c;读栈顶&#xff0c;结点有未被访问的邻接点则将邻接点入栈&#xff0c;再读栈顶&#xff08;不出栈&#xff09;&#xff0c;栈顶元素有未被访问的边则继续入栈若读到的栈顶没有边或者都被访问过&#xff0c…

【LeetCode】39,组合总和 (递归、回溯)

题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 示例1 示例2 题解 本题看似简单&#xff0c;实则略微复杂&#xff0c;每个数可以重复取…

求解部分和问题

题目内容&#xff1a; 给出N个正整数组成的数组A&#xff0c;求能否从中选出若干个&#xff0c;使他们的和为K。如果可以&#xff0c;输出&#xff1a;“YES”&#xff0c;否则输出"NO"。 输入格式: 第1行&#xff1a;2个数N、K, N为数组的长度, K为需要判断的和(2 …

回溯法-哈密顿回路

G中经过每个顶点一次且仅一次的回路称作哈密顿回路。欧拉回路要求通过每条边一次且仅仅一次&#xff0c;而哈密顿回路图则要求通过每个顶点一次且仅仅一次。哈密顿回路图有一个重要的问题&#xff1a;traveling salesperson problem,TSP&#xff0c;就是所谓的 货郎担 的问题即…

石油大 2019年我能变强组队训练赛第六场 B: Tournament Chart(dfs+栈)(递归)

链接&#xff1a;http://icpc.upc.edu.cn/problem.php?cid1812&pid1 题意&#xff1a;给出一个比赛安排表格&#xff0c;以及每个队伍赢的场次&#xff0c;问这n歌队伍赢的次数是否和表格相符。 思路&#xff1a;把每个队伍赢的次数记下来&#xff0c;然后搜索模拟比赛&…

two+two=four的解(全排列与深搜)

TWOTWOFOUR题目含义解题思路全排列枚举深搜结果展示其中深搜运行0.009s其中全排运行0.137s如何测试运行时间题目含义 t w o &#xff0c;f u r分别是0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;8&#xff0c;…

hdu 1298——T9(字典树)

题意&#xff1a;模拟手机九宫格输入法&#xff0c;输入w个字符串并给出每个字符串出现的次数&#xff0c;然后输入p组查询&#xff0c;每组的查询由一串数字组成&#xff0c;每输入一个数字输出到当前为止最有可能的字符串&#xff08;如果不存在就输出MANUALLY&#xff09;&a…

LeetCode 1448. 统计二叉树中好节点的数目:DFS

【LetMeFly】1448.统计二叉树中好节点的数目 力扣题目链接&#xff1a;https://leetcode.cn/problems/count-good-nodes-in-binary-tree/ 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点…

图论岛屿问题DFS+BFS

leetcode 200 岛屿问题 class Solution {//定义对应的方向boolean [][] visited;int dir[][]{{0,1},{1,0},{-1,0},{0,-1}};public int numIslands(char[][] grid) {//对应的二维数组int count0;visitednew boolean[grid.length][grid[0].length];for (int i 0; i < grid.l…

罗勇军 →《算法竞赛·快冲300题》每日一题:“游泳” ← DFS+剪枝

【题目来源】http://oj.ecustacm.cn/problem.php?id1753http://oj.ecustacm.cn/viewnews.php?id1023【题目描述】 游泳池可以等分为n行n列的小区域&#xff0c;每个区域的温度不同。 小明现在在要从游泳池的左上角(1, 1)游到右下角(n, n)&#xff0c;小明只能向上下左右四个方…

【Leetcode】岛屿问题——dfs算法

岛屿问题是dfs回溯算法中的经典问题&#xff0c;以下就是对岛屿问题相关的问题进行汇总。 文章目录岛屿问题463. 岛屿的周长200. 岛屿数量305. 岛屿数量Ⅱ695. 岛屿的最大面积1254. 统计封闭岛屿的数目827. 最大人工岛岛屿问题 463. 岛屿的周长 1.题目描述 leetcode题目链接…

华为机试4.20:新员工考试

新员工考试 题目描述 小聪入职新公司&#xff0c;参加线上的新员工必考试共25题,依次是10个判断题(每题2分&#xff09;、10个单选题(每题1分)和5个多选题(每题8分),总分100分。 考题只能顺序作答&#xff0c;答对题目获得相应的分数,答错题目获得0分,考试系统不提示作答是否…

【蓝桥杯 第十五届模拟赛 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…

华为机试:最大岛屿体积

【编程题目 | 100分】最大岛屿体积 [ 100 / 中等 ] 最大岛屿体积 题目描述 给你一个由 大于0的数&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中最大岛屿的体积。陆地的数表示所在岛屿的体积。 岛屿总是被水包围&…

华为机试2022.3.30:按图找最近的路

第二题&#xff0c;两百分&#xff0c;回溯问题&#xff0c;形似岛屿的数量&#xff0c;多加个回撤。 题目描述 有一张m*n的地图&#xff0c;地图描述了起点和终点的位置&#xff0c;也描述了两点间分布的高山湖泊&#xff0c;高山湖泊挡住去路&#xff0c;需要绕道行走&…

【C++】模拟实现二叉搜索树的增删查改功能

个人主页&#xff1a;&#x1f35d;在肯德基吃麻辣烫 我的gitee&#xff1a;C仓库 个人专栏&#xff1a;C专栏 文章目录 一、二叉搜索树的Insert操作&#xff08;非递归&#xff09;分析过程代码求解 二、二叉搜索树的Erase操作&#xff08;非递归&#xff09;分析过程代码求解…

图的邻接矩阵存储方式下的深度、广度优先遍历算法 (c语言,链队列,图的遍历,深度优先,广度优先)

源代码 /************************** 图的邻接矩阵与深度广度优先 ***********************************/ #include<stdio.h> #define Maxsize 100 typedef struct abc {int vertex[Maxsize];int edges[Maxsize][Maxsize];int v_num,e_num;}MGraph; MGraph *init_graph(…

LeetCode Generate Parentheses

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n 3, a solution set is: "((()))", "(()())", "(())()", "()(())", "()()()" 思路分析&…

剑指offer 68 - I. 二叉搜索树的最近公共祖先

剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 题解 运行结果 拓展&#xff1a;查找任意二叉树的任意两个节点的最近公共祖先 思路 代码&#xff08;含注释&#xff09; 检验运行结果 题解 由于树是二…

【LeetCode刷题笔记】DFSBFS(二)

994. 腐烂的橘子(树/图的BFS问题) 解题思路: 多源BFS ,首选找到 所有的腐烂的橘子 ,放入队列中,然后进行 BFS 广搜,广搜的 层数 - 1 就是所需要花费的分钟数。 在最开始先扫描一遍二维数组,将所有的 腐烂的橘子 加入 队列 ,同时统计新鲜橘子的数量 <

Leetcode 2850. Minimum Moves to Spread Stones Over Grid

Leetcode 2850. Minimum Moves to Spread Stones Over Grid 1. 算法思路2. 代码实现 题目链接&#xff1a;2850. Minimum Moves to Spread Stones Over Grid 1. 算法思路 这一题由于棋盘比较小&#xff0c;只是一个3x3的棋盘&#xff0c;所有的移动策略总量有限&#xff0c;…

第 364 场 LeetCode 周赛题解

A 最大二进制奇数 降序排序字符串&#xff0c;然后将最后一个 1 与最后一位交换 class Solution { public:string maximumOddBinaryNumber(string s) {sort(s.begin(), s.end(), greater<>());for (int i s.size() - 1;; i--)if (s[i] 1) {swap(s[i], s.back());break;…

LeetCode_二叉树_中等_1372.二叉树中的最长交错路径

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 给你一棵以 root 为根的二叉树&#xff0c;二叉树中的交错路径定义如下&#xff1a; 选择二叉树中 任意 节点和一个方向&#xff08;左或者右&#xff09;。如果前进方向为右&#xff0c;那么移动到当前节点…

C++算法:给表达式添加运算符

题目 给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target &#xff0c;在 num 的数字之间添加 二元 运算符&#xff08;不是一元&#xff09;、- 或 * &#xff0c;返回 所有 能够得到 target 的表达式。 注意&#xff0c;返回表达式中的操作数 不应该 包含前导零。…

二叉树的带权路径长度

二叉树的带权路径长度(WPL)是二叉树中所有叶结点的带权路径长度之和&#xff0c;也就是每个叶结点的深度与权值之积的总和。 给定一棵二叉树 T &#xff0c;请你计算并输出它的 WPL。 注意&#xff0c;根节点的深度为 0 。 样例 输入&#xff1a;二叉树[8, 12, 2, null, …

Leetcode—40.组合总和II【中等】

2023每日刷题&#xff08;七十七&#xff09; Leetcode—40.组合总和II 算法思想 实现代码 class Solution { public:vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {vector<vector<int>> ans;vector<int…

第二章 搜索

本篇博文是笔者归纳汇总的AcWing基础课题集&#xff0c;方便读者后期复盘巩固~ PS&#xff1a;本篇文章只给出完整的算法实现&#xff0c;并没有讲解具体的算法思路。如果想看算法思路&#xff0c;可以阅读笔者往期写过的文章&#xff08;或许会有&#xff09;&#xff0c;也可…

第3章:搜索与图论【AcWing】

文章目录 图的概念图的概念图的分类有向图和无向图 连通性连通块重边和自环稠密图和稀疏图参考资料 图的存储方式邻接表代码 邻接矩阵 DFS全排列问题题目描述思路回溯标记剪枝代码时间复杂度 [N 皇后问题](https://www.luogu.com.cn/problem/P1219)题目描述全排列思路 O ( n ! …

【LeetCode刷题笔记】二叉树(二)

257. 二叉树的所有路径 解题思路: 1. DFS 前序遍历 ,每次递归将 当前节点的拼接结果 传递到 下一层 中,如果当前节点是 叶子节点 ,就将 当前拼接结果 收集答案并返回。 注意:路径path结果可以使用 String 来拼接,这样可以避免回溯处理。

【华为OD题库-023】文件目录大小-java

题目 一个文件目录的数据格式为:目录id,本目录中文件大小&#xff0c;(子目录id列表)。其中目录id全局唯一&#xff0c; 取值范围[1 ,200]&#xff0c;本目录中文件大小范围[1,1000]&#xff0c;子目录id列表个数[0,10] 例如: 1 20 (2,3)表示目录1中文件总大小是20,有两个子目录…

【华为OD题库-010】寻找矿堆的最大价值-Java

题目 给你一个由0(空地)、1(银矿)、2(金矿)组成的的地图&#xff0c;矿堆只能由上下左右相邻的金矿或银矿连接形成。超出地图范围可以认为是空地。 假设银矿价值1&#xff0c;金矿价值2&#xff0c;请你找出地图中最大价值的矿堆并输出该矿堆的价值 输入描述 地图元素信息如: 2…

【数据结构——有向图】有环无环判定、拓扑排序(DFS、BFS)

文章目录 1. 什么是有向图2. 什么是拓扑排序2. 有向图的拓扑排序2. 1 BFS 广度优先2. 2 DFS 深度优先 3. 有向图有环无环判定 1. 什么是有向图 有向图&#xff08;Directed Graph&#xff09;&#xff0c;也被称为有向图形或方向图&#xff0c;是一种图的类型。在有向图中&…

二维矩阵的DFS算法框架

二维矩阵的DFS算法框架 # 二叉树遍历框架 def traverse(root):if not root:return # 前序遍历traverse(root.left)# 中序遍历traverse(root.right)# 后序遍历# 二维矩阵的DFS算法框架 def dfs_matrix(grid, i, j, visited):m, n len(grid), len(grid[0])# 跳出递归条件if i &…

封闭岛屿数量 -- 二维矩阵的dfs算法

1254. 统计封闭岛屿的数目 这道题和 岛屿数量 – 二维矩阵的dfs算法 类似&#xff0c;区别在于不算边缘部分的岛屿&#xff0c;那其实很简单&#xff0c;把上⼀题中那些靠边的岛屿排除掉&#xff0c;剩下的就是「封闭岛屿」了。 class closedIsland:"""floodFi…

统计封闭岛屿的数目

1254. 统计封闭岛屿的数目 关于岛屿的相似题目&#xff1a; 岛屿数量 – 二维矩阵的dfs算法封闭岛屿数量 – 二维矩阵的dfs算法统计封闭岛屿的数目统计子岛屿不同岛屿的数量 class MaxAreaOfIsland:"""floodFill 算法1254. 统计封闭岛屿的数目https://leetcod…

AcWing 4520:质数 ← DFS + 注意整数溢出

【题目来源】https://www.acwing.com/problem/content/4523/【题目描述】 给定一个正整数 X&#xff0c;请你在 X 后面添加若干位数字&#xff08;至少添加一位数字&#xff1b;添加的数不能有前导0&#xff09;&#xff0c;使得结果为质数&#xff0c;在这个前提下所得的结果应…

不同岛屿的数量

694 不同岛屿的数量 这道题要给出不同岛屿的数量&#xff0c;最直观的想法就是对发现的不同岛屿进行序列化&#xff0c;然后把序列化结果存到HashSet&#xff0c;那怎么序列化呢&#xff1f; 其实比较类似于二叉树的序列化&#xff0c;记录遍历顺序&#xff08;方向&#xff09…

【C++】递归,搜索与回溯算法入门介绍和专题一讲解

个人主页&#xff1a;&#x1f35d;在肯德基吃麻辣烫 我的gitee&#xff1a;C仓库 个人专栏&#xff1a;C专栏 前言 从本文开始进入递归&#xff0c;搜索与回溯算法专题讲解。 文章目录 前言一、名词解释1、什么是递归&#xff1f;2、为什么会用到递归&#xff1f;3、如何理解…

【C/C++】全排列及素数环问题

全排列 问题描述&#xff1a;将n个互不相同的数全排列&#xff0c;即1&#xff0c;2&#xff0c;n 方法&#xff1a;dfs 算法思路&#xff1a; dfs(从第一层开始){if(递归结束条件){遍历a[i]}打印换行for(循环n个位数) {if(当前数字没用过){第k层&#xff08;第k个位置&…

AtCoder Beginner Contest 329(E - Stamp)

AtCoder Beginner Contest 329 比赛地址&#xff1a;&#xff33;&#xff4b;&#xff59; Inc, Programming Contest 2023&#xff08;AtCoder Beginner Contest 329&#xff09; - AtCoder E - Stamp Problem Statement You are given two strings: S S S, which consi…

【第12题】[NOIP2015 提高组] 信息传递

题目&#xff1a;[NOIP2015 提高组] 信息传递 题目原文请移步下面的链接 https://www.luogu.com.cn/problem/P2661 参考题解&#xff1a;https://www.luogu.com.cn/problem/solution/P2661 标签&#xff1a;OI、 NOIP、并查集、DFS难度&#xff1a;普及/提高- 题解 思路 题…

2023年第六届传智杯程序设计挑战赛(个人赛)B组 赛后复盘

传智杯赛后复盘 大家好 我是寸铁&#x1f44a; 2023年第六届传智杯程序设计挑战赛&#xff08;个人赛&#xff09;B组 赛后复盘 喜欢的小伙伴可以点点关注 &#x1f49d; 1. 字符串拼接 细节&#xff1a;一定要清楚nextLine()和next()的区别 nextLine()是遇到回车会停下来 nex…

#深搜DFS

深搜 数据结构&#xff1a; 栈 stack 空间&#xff1a; O(n) 框架 dfs{if(满足条件){按要求干活&#xff1b;return ;//回溯}for(枚举){if(找到没有被枚举过的点){按题目干活&#xff1b;记录这个点已被枚举&#xff1b;dfs(这个点)&#xff1b;取消记录&#xff0c;恢复现场;…

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

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

AcWing 3555:二叉树(多次询问两个结点之间的最短路径长度) ← DFS

【题目来源】https://www.acwing.com/problem/content/3558/【题目描述】 给定一个 n 个结点&#xff08;编号 1∼n&#xff09;构成的二叉树&#xff0c;其根结点为 1 号点。 进行 m 次询问&#xff0c;每次询问两个结点之间的最短路径长度。 树中所有边长均为 1。【输入格式】…

LeetCode417. Pacific Atlantic Water Flow

文章目录 一、题目二、题解 一、题目 There is an m x n rectangular island that borders both the Pacific Ocean and Atlantic Ocean. The Pacific Ocean touches the island’s left and top edges, and the Atlantic Ocean touches the island’s right and bottom edges…

UVA-1602 网格动物 题解答案代码 算法竞赛入门经典第二版

GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 使用dfs遍历所有情况&#xff0c;再去重即可。 遍历部分 遍历的时候需要注意&#xff1a; 1. 这其实并不能算是dfs&#xff0c;因为普通的dfs是一直走到尽头&#xff0c;然后再逐渐退出&a…

C语言利用计算机找系统的最小通路集的算法

背景&#xff1a; 有人求助到博主希望分析一下他们老师给出的题目&#xff0c;博主思路分析和解题过程如下 题目要求&#xff1a; 联络矩阵法&#xff0c;当 n 较小时可以用手算,当然也可以用计算机计算。但当 n 很大时&#xff0c;需要计 算机的容量很大才行。为此要探求有…

课程表系列

相关题目&#xff1a; 207. 课程表 210. 课程表 II 1462. 课程表 IV class CourseSchedule:"""207.课程表https://leetcode.cn/problems/course-schedule/"""def __init__(self):# 记录⼀次递归堆栈中的节点self.onPath []# 记录遍历过的节点&…

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; 思…

DFS(分布式文件系统)与 DFSR(分布式文件系统复制)的区别

DFS&#xff08;分布式文件系统&#xff09;和 DFSR&#xff08;分布式文件系统复制&#xff09;是两种不同的技术&#xff0c;尽管它们在名称上有一些相似之处&#xff0c;但它们的用途和功能有所不同。 DFS&#xff08;分布式文件系统&#xff09; DFS 是一种用于创建和管理…

【蓝桥】串门

1、题目 问题描述 过年小蓝想要回家串门。 蓝桥村可以抽象为 n n n 个节点&#xff0c; n − 1 n-1 n−1 条边的一棵树&#xff0c;每条边有边权长度 w i w_i wi​。 小蓝可以选择任意一个点作为起点&#xff0c;然后选择一条路径&#xff0c;可以访问每个节点至少一次。…

【LeetCode:117. 填充每个节点的下一个右侧节点指针 II | DFS | BFS】

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

【Acwing171】送礼物(双向dfs)题解

本题思路来源于acwing算法提高课 题目描述 看本文需要准备的知识 1.二分&#xff08;强烈推荐文章&#xff1a;一分钟学会二分模板 2.dfs基本思想&#xff0c;了解“剪枝”这个术语 思路分析 首先这道题目看起来就是一个01背包&#xff0c;但是如果直接用01背包去做&…

【LeetCode刷题笔记】二叉树(一)

102. 二叉树的层序遍历 解题思路: 1. BFS广度优先遍历 ,使用队列,按层访问 解题思路: 2. 前序遍历 , 递归 ,在递归方法参数中,将 层索引

LeetCode827. Making A Large Island

文章目录 一、题目二、题解 一、题目 You are given an n x n binary matrix grid. You are allowed to change at most one 0 to be 1. Return the size of the largest island in grid after applying this operation. An island is a 4-directionally connected group of…

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

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

【算法思考记录】力扣1038. 从二叉搜索树到更大和树【C++,递归,中序遍历】

力扣1038. 从二叉搜索树到更大和树 从二叉搜索树到更大和树&#xff1a;理解中序位置的递归解法 问题概述 二叉搜索树&#xff08;BST&#xff09;是一种特殊的二叉树&#xff0c;它的每个节点都满足以下条件&#xff1a; 左子树的所有节点值小于当前节点值。右子树的所有节…

【LeetCode:2646. 最小化旅行的价格总和 | DFS + DP】

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

【LeetCode:1466. 重新规划路线 | DFS + 图 + 树】

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

Public Bike Management (30)(dfs)

链接&#xff1a;https://www.nowcoder.com/questionTerminal/4b20ed271e864f06ab77a984e71c090f 来源&#xff1a;牛客网 There is a public bike service in Hangzhou City which provides great convenience to the tourists from all over the world. One may rent a bike…

DFS与BFS算法总结

知识概览 DFS、BFS都可以对整个问题空间进行搜索&#xff0c;搜索的结构都是像一棵树。DFS会尽可能往深搜&#xff0c;当搜索到叶节点时就会回溯。而BFS每一次只会扩展一层。 DFS与BFS的区别&#xff1a; 搜索方式数据结构空间复杂度性质DFS栈O(h)&#xff0c;其中h为搜索空间…

树与图的深度优先遍历、宽度优先遍历算法总结

知识概览 树是特殊的图&#xff0c;是无环连通图图分为有向图和无向图。因为无向图可以转化为有向图&#xff0c;树可以转化为图。因此本文讨论有向图。 树和图的存储&#xff1a; 邻接矩阵&#xff1a;空间复杂度&#xff0c;适合存储稠密图。邻接表&#xff1a;存储每个点可以…

【刷题1】LeetCode 131. 分割回文串 java题解

2024: 刚开始做leetcode hot100&#xff0c;查阅自己以前写的题解专栏&#xff0c;发现没有这一题&#xff0c;于是加上。可能leetcode100更新了吧。我看现在leetcode100官网的题目已经是分好类的了&#xff0c;以前我的题解帖子是自己手动分类整理的。 class Solution {List&…

每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和

目录 力扣129. 求根节点到叶节点数字之和 解析代码 力扣129. 求根节点到叶节点数字之和 129. 求根节点到叶节点数字之和 难度 中等 给你一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&am…

每日OJ题_二叉树dfs③_力扣814. 二叉树剪枝

目录 力扣814. 二叉树剪枝 解析代码 力扣814. 二叉树剪枝 814. 二叉树剪枝 难度 中等 给你二叉树的根结点 root &#xff0c;此外树的每个结点的值要么是 0 &#xff0c;要么是 1 。 返回移除了所有不包含 1 的子树的原二叉树。 节点 node 的子树为 node 本身加上所有 n…

【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(一)

【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(一) 大家好 我是寸铁&#x1f44a; 总结了一篇刷题关于树、dfs、bfs、回溯、递归的文章✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 105. 从前序与中序遍历序列构造二叉树 模拟分析图 代码实现 /*** Definition for a binary tre…

【LeetCode:1631. 最小体力消耗路径 | BFS + 二分】

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

【寸铁的刷题笔记】图论、bfs、dfs

【寸铁的刷题笔记】图论、bfs、dfs 大家好 我是寸铁&#x1f44a; 金三银四&#xff0c;图论基础结合bfs、dfs是必考的知识点✨ 快跟着寸铁刷起来&#xff01;面试顺利上岸&#x1f44b; 喜欢的小伙伴可以点点关注 &#x1f49d; &#x1f31e;详见如下专栏&#x1f31e; &…

DFS、BFS求解leetcode图像渲染问题(Java)

目录 leetcode733题.图像渲染 DFS BFS leetcode733题.图像渲染 733. 图像渲染 - 力扣&#xff08;LeetCode&#xff09; 有一幅以 m x n 的二维整数数组表示的图画 image &#xff0c;其中 image[i][j] 表示该图画的像素值大小。 你也被给予三个整数 sr , sc 和 newColor …

蓝桥OJ 2942数字王国之军训排队 DFS剪枝

蓝桥OJ 2942数字王国之军训排队 #include<bits/stdc.h> using namespace std;const int N 15;//最多10队 int a[N], n; vector<int>v[N];//二维数组 v[i]记录队伍i中所有人的编号bool dfs(int cnt, int dep) {if (dep n1){//判断合法性for (int i 1; i < n; …

【LeetCode: 212. 单词搜索 II - dfs】

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

Leetcode—112.路径总和【简单】

2023每日刷题&#xff08;五十七&#xff09; Leetcode—112.路径总和 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* …

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…

【LeetCode: 2415. 反转二叉树的奇数层 | BFS + DFS】

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

Leetcode—230.二叉搜索树中第K小的元素【中等】

2023每日刷题&#xff08;六十&#xff09; Leetcode—230.二叉搜索树中第K小的元素 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nul…

Leetcode—98.验证二叉搜索树【中等】

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

【万题详解】DFS搜索专题合集(中)

课前C小程序&#xff08;关机&#xff0c;休眠&#xff0c;注销程序&#xff09; 有的时候我们需要让电脑在一段时间工作而不能关机&#xff0c;但是工作完成之后不关机会造成用电浪费&#xff0c;那么使用自动关机命令&#xff0c;就不用担心电脑一直开着会浪费电啦。夜里看电…

Python 二分分治解法: Leetcode 56- 合并区间

题目 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&#xff1a;intervals …

【数据结构实验】图(三)图的深度优先搜索(DFS)生成树

文章目录 1. 引言2. 深度优先搜索生成树3. 实验内容3.1 实验题目&#xff08;一&#xff09;输入要求&#xff08;二&#xff09;输出要求 3.2 算法实现1. 数据结构2. 队列操作函数3. 广度优先搜索遍历4. 创建图5. 深度优先搜索算法6. 主函数及DFS主函数7. 输出生成树信息 3.3 …

FastDFS分布式文件系统概述

FastDFS分布式文件系统概述 一、概述 FastDFS是一个轻量级的开源分布式文件系统FastDFS主要解决了大容量的文件存储和高并发访问的问题&#xff0c;文件存取时实现了负载均衡FastDFS实现了软件方式的RAID(冗余独立磁盘阵列)&#xff0c;可以使用廉价的IDE硬盘进行存储支持存储服…

dp入门:从暴力dfs到dp

本篇为小金鱼大佬视频的学习笔记&#xff0c;原视频链接&#xff1a;https://www.bilibili.com/video/BV1r84y1379W?vd_source726e10ea5b787a300ceada715f64b4bf 基础概念 暴力dfs很多时候仅能过部分测试点&#xff0c;要想将其优化&#xff0c;一般以 dfs -> 记忆化搜索 …

DFS(深度优先搜索)详解(概念讲解,图片辅助,例题解释,剪枝技巧)

目录 那年深夏 引入 1.什么是深度优先搜索&#xff08;DFS&#xff09;&#xff1f; 2.什么是栈&#xff1f; 3.什么是递归&#xff1f; 图解过程 问题示例 1、全排列问题 2、迷宫问题 3、棋盘问题&#xff08;N皇后&#xff09; 4、加法分解 模板 剪枝 1.简介 2.剪枝…

每日算法打卡:递归实现指数型枚举 day 1

文章目录 原题链接题目描述输入格式输出格式数据范围输入样例&#xff1a;输出样例&#xff1a; 题目分析 原题链接 92. 递归实现指数型枚举 题目难度&#xff1a;简单 题目描述 从 1 ∼ n 1 \sim n 1∼n 这 n 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案…

牛客题单——递归与递推

题单链接 Fractal Streets 这是一道挺有意思的递归问题 首先我们需要发现不同级分形街道的联系 对于任意一张编号大于2的分形街道来说&#xff0c;右上角右下角的图是由前一张直接平移得到的&#xff0c;左上角的是由前一张顺时针旋转90得到的&#xff0c;左下角是由前一张逆…

【AcWing】蓝桥杯备赛-深度优先搜索-dfs(1)

目录 写在前面&#xff1a; 题目&#xff1a;92. 递归实现指数型枚举 - AcWing题库 读题&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 数据范围&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 解题思路&#xff1a; 代码&#xff1a; AC &…

[leetcode] 22. 括号生成

文章目录 题目描述解题方法方法一&#xff1a;dfs遍历java代码 方法二&#xff1a;按照卡特兰数的思路递归求出有效括号组合java代码 相似题目 题目描述 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示…

1755. 最接近目标值的子序列和

Problem: 1755. 最接近目标值的子序列和 文章目录 思路解题方法复杂度Code 思路 给你一个整数数组 nums 和一个目标值 goal。你需要从 nums 中选出一个子序列&#xff0c;使子序列元素总和最接近 goal。也就是说&#xff0c;如果子序列元素和为 sum &#xff0c;你需要 最小化绝…

【LeetCode: 剑指 Offer II 112. 最长递增路径 | 递归 | DFS | 深度优先遍历 | 记忆化缓存表】

&#x1f34e;作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域新星创作者&#x1f3c6;&#xff0c;保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享&#x1f48e;&#x1f48e;&#x1f48e; &#x1f34e;座右…

LeetCode 0094.二叉树的中序遍历:递归/迭代(栈模拟递归)

【LetMeFly】94.二叉树的中序遍历&#xff1a;递归/迭代(栈模拟递归) 力扣题目链接&#xff1a;https://leetcode.cn/problems/binary-tree-inorder-traversal/ 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root […

牛客——递归实现指数型枚举(枚举,dfs)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 从 1∼n1\sim n1∼n这 n (n≤16)(n \leq 16)(n≤16) 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。 输入描述: 一个整数n。 输出描述: 每行一种方案。同一行内…

Python算法题集_二叉树的最大深度

Python算法题集_二叉树的最大深度 题104&#xff1a;二叉树的最大深度1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【DFS自顶向下】2) 改进版一【DFS自底向上】3) 改进版二【BFS】 4. 最优算法 本文为Python算法题集之一的代码示例 题104&am…

LeetCode 109. 有序链表转换二叉搜索树

原题目&#xff1a;https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-tree/ 思路&#xff1a; 先转换为数组存储元素的值&#xff0c;然后深度优先遍历重建树&#xff0c; 代码&#xff1a; class Solution { private:vector<int> v;TreeNode* …

LeetCode 1028. 从先序遍历还原二叉树

原题目&#xff1a;https://leetcode-cn.com/problems/recover-a-tree-from-preorder-traversal/ 思路&#xff1a; 我们使用两个队列分别存储深度&#xff08;数字前面 - 的个数&#xff09;和 值。进行深度优先遍历。 如果深度队列的头结点的值 和 传入的depth不相等&#…

LeetCode 733. 图像渲染

原题目&#xff1a;https://leetcode-cn.com/problems/flood-fill/ 思路&#xff1a; 采用dfs&#xff0c;对满足条件&#xff08;索引没有越界&#xff0c;颜色和image[sr,sc]一样&#xff09;的点&#xff0c;变换成新颜色。 注意&#xff1a;新颜色如果和原来的一样&#…

NSSCTF-[NSSRound#X Basic]ez_z3 [MoeCTF 2022]Art [HDCTF2023]basketball

目录 NSSCTF-[NSSRound#X Basic]ez_z3 [MoeCTF 2022]Art [HDCTF2023]basketball NSSCTF-[NSSRound#X Basic]ez_z3 题目下载&#xff1a;下载 查壳&#xff1a; 发现有upx壳&#xff0c;但是使用upx -d命令不能脱壳&#xff0c;载入十六进制编辑器查看 把XYU改为UPX&#x…

DFS和BFS下的迷宫问题

深度优先搜索&#xff08;DFS&#xff09; 类似于数的先根遍历&#xff0c;是数的先根遍历的推广。假设初始状态是图中所有的顶点都未曾被访问&#xff0c;则深度优先搜索可以从图中的某个顶点出发&#xff0c;访问此顶点&#xff0c;然后依次从v未被访问的邻接点出发深度优先…

洛谷P1135题解

题目背景 感谢 yummy 提供的一些数据。 题目描述 呵呵&#xff0c;有一天我做了一个梦&#xff0c;梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯&#xff0c;而且第 i 层楼&#xff08;1≤i≤N&#xff09;上有一个数字 K[i]​&#xff08;0≤K[i]​≤N&#xff09;…

邻接矩阵无向图 有无环 C实现 (dfs)

核心思想: 根据图与树的关系 到 图与连通分量关系 知 无环时候&#xff1a; 顶点数 -边数 树个数 &#xff08;连通分量数&#xff09; 有环时候&#xff1a;顶点数-边数 < 树个数&#xff08;连通分量数&#xff09; 连通分量数可以在dfs中求得 void dfs_trvsal…

leetcode-121 Path Sum II

题目&#xff1a; Given a binary tree and a sum, find all root-to-leaf paths where each paths sum equals the given sum. Note: A leaf is a node with no children. Example: Given the below binary tree and sum 22, 5/ \4 8/ / \11 13 4/ \ / \ 7 …

P1683 入门(洛谷)JAVA

题目描述&#xff1a; 不是任何人都可以进入桃花岛的&#xff0c;黄药师最讨厌像郭靖一样呆头呆脑的人。所以&#xff0c;他在桃花岛的唯一入口处修了一条小路&#xff0c;这条小路全部用正方形瓷砖铺设而成。有的瓷砖可以踩&#xff0c;我们认为是安全的&#xff0c;而有的瓷砖…

【二叉树】【DFS】104.二叉树的最大深度

题目 法1&#xff1a;DFS class Solution {public int maxDepth(TreeNode root) {if (root null) {return 0;} else if (root.left null && root.right null) {return 1;} else {return Math.max(maxDepth(root.left), maxDepth(root.right)) 1;}} }

Python每日一练(20230401)

目录 1. 最大子序和 &#x1f31f; 2. 从前序与中序遍历序列构造二叉树 &#x1f31f;&#x1f31f; 3. 岛屿数量 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一…

Java题目训练——年终奖和迷宫问题

目录 一、年终奖 二、迷宫问题 一、年终奖 题目描述&#xff1a; 小东所在公司要发年终奖&#xff0c;而小东恰好获得了最高福利&#xff0c;他要在公司年会上参与一个抽奖游戏&#xff0c;游戏在一个6*6的棋盘上进行&#xff0c;上面放着36个价值不等的礼物&#xff0c; 每…

力扣二叉树专题(三)-N叉树的前序、后序遍历 翻转二叉树 前中后序遍历 DFS BFS 递归法 迭代法 多种方法C++实现 总结

文章目录一、N叉树的前序遍历与后序遍历1. n叉树的前序遍历-题5892. n叉树的后序遍历-题590二、翻转二叉树-题226力扣二叉树专题&#xff08;一&#xff09;介绍了二叉树的深度优先遍历&#xff0c;前中后序的递归、迭代、统一迭代实现。 力扣二叉树专题&#xff08;二&#x…

Python每日一练(20230415)

目录 1. 路径总和 II &#x1f31f;&#x1f31f; 2. 两数相除 &#x1f31f;&#x1f31f; 3. 不同的二叉搜索树 II &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日…

CSDN竞赛43期题解

总结 有二十来期没有写题解了&#xff0c;基本都是重复的题目&#xff0c;奖励也是重复的&#xff0c;就忽略了n条奖惩公告了。这次竞赛也都是重复的题目&#xff0c;往期基本也都写过题解&#xff0c;所以内容不太重要。这次比赛赛后也看不见考试报告&#xff0c;代码为赛后重…

力扣二叉树专题(五)- 左叶子之和、找树左下角的值、路径总和、从中序与后序遍历序列构造二叉树、从前序与中序遍历序列构造二叉树、最大二叉树 C++实现 总结

文章目录 一、404.左叶子之和二、513. 找树左下角的值三、112. 路径总和四、106.从中序与后序遍历序列构造二叉树五、相关题-105.从前序与中序遍历序列构造二叉树六、654.最大二叉树总结 一、404.左叶子之和 注意点&#xff1a; 是左叶子&#xff0c;不是左节点&#xff01;&…

Java每日一练(20230504)

目录 1. 位1的个数 &#x1f31f; 2. 移除元素 &#x1f31f; 3. 验证二叉搜索树 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 位1的个数 编写一个…

【图论(1)】图的存储、遍历与拓扑排序

5月16-5月18日学习内容 文章目录 一、图是什么二、图的存储1、直接存边法2、邻接矩阵法3、邻接表法4、链式前向星时间复杂度分析 三、图的遍历DFSBFS 四、拓扑排序&#xff08;今天实在没时间写了&#xff0c;明天写&#xff09; 一、图是什么 这是oi.wiki给的定义 简而言之…

Golang每日一练(leetDay0079) 最大正方形、完全二叉树节点数

目录 221. 最大正方形 Maximal Square &#x1f31f;&#x1f31f; 222. 完全二叉树的节点个数 Count Complete Tree Nodes &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/…

LeetCode_二叉树_DFS_中等_129.求根节点到叶节点数字之和

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 给你一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&#xff1a;例如&#xff0c;从根节点到叶节点的路径 1 -> 2 -> …

是德 DSOX1202A示波器技术参数

KEYSIGHT是德科技 lnfiniiVision 1000 X 系列示波器是具有专业级功能的入门级示波器&#xff0c;配备的联网软件可提供远程控制和数据记录等功能。 它集 6 种仪器的功能于一身&#xff0c;属于是德科技智能测试台必备仪器之一。该系列包含 4 款独具特长的仪器&#xff0c;通过同…

深度优先搜索(DFS)之习题分析

深度优先搜索&#xff08;DFS&#xff09;之习题分析一、深度优先搜索&#xff08;DFS&#xff09;的概念二、全排列&#xff08;一&#xff09;、题目需求&#xff08;二&#xff09;、解法&#xff08;三&#xff09;、代码分析三、子集&#xff08;一&#xff09;、题目需求…

移动玩具(DFS、BFS)

题目: 移动玩具洛谷题目 解题思路: 先利用bfs找出每一个起始玩具,到所有终点玩具所需移动步长求出。存放到dis数组中 在利用dfs和"全排列"思想类似,一个萝卜一个坑,找出所有搭配情况。 不懂全排列dfs做法的同学点超链接 全排列 细枝末节: 需要将起始玩具和终点的玩…

棋盘问题大全(DFS)

第一题: 大家看完这两道题应该对棋盘问题有了一定认识,并且对dfs有了更加深刻的认识!耐心看完,我写的十分详细。 题目: 不爱看题目这里有链接 在一个给定形状的棋盘&#xff08;形状可能是不规则的&#xff09;上面摆放棋子&#xff0c;棋子没有区别。 要求摆放时任意的两个…

LeetCode 437. Path Sum III

原题目&#xff1a;https://leetcode-cn.com/problems/path-sum-iii/ 思路&#xff1a; 采用递归&#xff0c;用数组保存节点之前的和&#xff0c;根据前缀和&#xff0c;sum ans[-1] - ans[i], 找到这些和为sum的点&#xff0c;count就可以了&#xff1b; &#xff08;…

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

(C/C)-图的深度优先遍历(DFS)和广度优先遍历(BFS) 1、图的深度优先遍历(DFS) 图的深度优先遍历与树的先序遍历类似&#xff0c;即尽可能深的遍历图 这里采取邻接矩阵存储图&#xff0c;存储的图如下&#xff1a; ps: 这个图沿用我的上一篇文章(最小生成树和单源最短路径)&a…

CSP 2015 03 04 网络延时 DFS BFS

一 、 DFS #include<iostream> #include<vector> #include<cstring> #define MAX 20005 using namespace std;int m, n; vector<int> g[MAX]; int max_i 0; int max_s 0; int visit[MAX] {0}; void dfs(int cur, int s){if(s > max_s){max_s …

聪明的燕姿

题目描述 分析 提到约数之和&#xff0c;就不难想到约数个数和约数之和的两个公式 对于这道题来说&#xff0c;如果这个数大于S&#xff0c;那么这个数必然有两个因子&#xff0c;一个1一个S&#xff0c;那么这个数一定不符合要求&#xff0c;因此只需要在1~S中考虑即可 假设…

目标和 Target Sum

文章目录目标和 Target Sum思路Tag目标和 Target Sum 一个整数组nums和一个整数target&#xff0c;向nums中的每个数字前添加 或-&#xff0c;形成的表达式&#xff0c;计算结果等于target&#xff0c;计算所有满足的表达式的数目。 in&#xff1a;nums [1,1,1,1,1], target…

C/C++每日一练(20230220)

目录 1. 利用字母组成图形 2. 子集 II 3. 路径总和 II 附录 深度优先搜索算法 广度优先搜索算法 1. 利用字母组成图形 利用字母可以组成一些美丽的图形&#xff0c;下面给出了一个例子&#xff1a; ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形&…

L2-026 小字辈 (25分)

原题链接 嘻BFSDFSBFS 结构体存孩子&#xff0c;以及层数 BFS每次访问的加入的是节点queue<int> q; 对应操作的是他的孩子Node[Node[now].child[i]]和他孩子的层数Node[Node[now].child[i]].leval 直接存节点就是思路比较简单但是表示起来好长hhhh 每次便利需要记录最大…

C/C++每日一练(20230312) 二叉树专场

目录 1. 二叉树的中序遍历 ★★ 2. 平衡二叉树 ★★ 3. 二叉树中的最大路径和 ★★★ &#x1f31f; 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 专栏 1. 二叉树的中序遍历 给定一个二叉树的根节点 root &#xff0c;返回它的 中序 遍历。 示例 1&#…

PAT甲级真题 1111 Online Map (30分) C++实现(两次dijkstra+dfs,复用封装函数)

题目 Input our current position and a destination, an online map can recommend several paths. Now your job is to recommend two paths to your user: one is the shortest, and the other is the fastest. It is guaranteed that a path exists for any request. Input…

LeetCode_二叉树_中等_113.路径总和 II

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有从根节点到叶子节点路径总和等于给定目标和的路径。 叶子节点是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root…

图的遍历方式 深度优先广度优先

恰巧离散数学学到了图的矩阵表示&#xff08;最后一节了&#xff09;&#xff0c;复习一下图的遍历方式吧&#xff0c;没想到网课上到了将近结课 一、举例分析 深度优先搜索&#xff08;DFS&#xff09;是一种顺序搜索&#xff0c;一条路走到黑&#xff0c;直到搜索无法进行&…

深度优先遍历

图的遍历&#xff0c;可以从图中的任何一个节点出发&#xff0c;将图的各个节点都经过一次&#xff0c;且只有一次。 eg1&#xff1a; 深度优先遍历选择一个节点的相邻节点&#xff0c;直至最末的节点没有相邻的节点&#xff0c;就返回上一层&#xff0c;在遍历上一个节点的另…

C++版深度优先遍历dfs与广度优先遍历bfs

深度优先遍历 例题1 class Solution { public:vector<vector<int>> res; //res为最后的答案集合vector<int> path; //path为符合规定的答案void dfs( vector<int>& nums, vector<bool>& v, int depth){if( dep…

PAT甲级真题 1053 Path of Equal Weight (30分) C++实现(DFS遍历树)

题目 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 path from R to any leaf node L. Now given any weighted tree, yo…

全排列(DFS)

题目: 全排列 题意分析: 给出大小为n的数字,输出1~n的全排列,不允许重复数字 eg: 123 132 213 231 321 312(n3) 解题思路: 首先讲解DFS,所谓dfs就是深度优先遍历,简单来说"一条路走到黑,不撞南墙不回头",当到达最深处时,然后返回,上一层即里深处最近的一层,从上一层…

993. 二叉树的堂兄弟节点

2021-05-17 LeetCode每日一题 链接&#xff1a;https://leetcode-cn.com/problems/cousins-in-binary-tree/ 标签&#xff1a;树、深度优先搜索、广度优先搜索。 题目 在二叉树中&#xff0c;根节点位于深度 0 处&#xff0c;每个深度为 k 的节点的子节点位于深度 k1 处。 如…

POJ 1655 Balancing Act (树的重心 + DFS)

传送门&#xff1a;POJ 1655 题目大意&#xff1a; 求树的重心&#xff0c;如果有多个重心则输出根节点编号最小的一个。树的重心也叫树的质心。找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后&#xff0c;生成的多棵树尽可能平衡。 …

872. 叶子相似的树

2021-05-10 LeetCode每日一题 链接&#xff1a;https://leetcode-cn.com/problems/leaf-similar-trees/ 题目 请考虑一棵二叉树上所有的叶子&#xff0c;这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。 举个例子&#xff0c;如上图所示&#xff0c;给定一棵叶值序列为…

剪枝算法(算法优化)

一&#xff1a;剪枝策略的寻找的方法 1&#xff09;微观方法&#xff1a;从问题本身出发&#xff0c;发现剪枝条件 2&#xff09;宏观方法&#xff1a;从整体出发&#xff0c;发现剪枝条件。 3&#xff09;注意提高效率&#xff0c;这是关键&#xff0c;最重要的。 总之&…

Harbour.Space Scholarship Contest 2021-2022 (open for everyone, rated, Div. 1 + Div. 2)

A题 题意&#xff1a;找到\(S(x)>S(x1)\)的数在\(x∈(0,n)\)的范围内的个数S(x)是x的个数数字的和。容易发现x的末尾数字是9时S(x)>S(x1) 才成立。所以答案是x/10(x%109) #include <bits/stdc.h> #define re register #define pb push_back #define all(a) a.begin…

DFS

文章目录1. 迷宫问题最短路径DFS未简化版DFS 使用方向数组简化if语句2.蓝桥—数字游戏3、单词接龙4、全排列5、八皇后6、单词方阵1. 迷宫问题最短路径 有一个迷宫地图&#xff0c;有一些可达的位置&#xff0c;也有一些不可达的位置&#xff08;障碍、墙壁、边界&#xff09;。…

PAT甲级真题 1091 Acute Stroke (30分) C++实现(bfs累计节点数,dfs会栈溢出)

题目 One important factor to identify acute stroke (急性脑卒中) is the volume of the stroke core. Given the results of image analysis in which the core regions are identified in each MRI slice, your job is to calculate the volume of the stroke core. Input …

洛谷 P1219 八皇后问题——java dfs

洛谷 P1219 八皇后问题 题目描述 检查一个如下的6 x 6的跳棋棋盘&#xff0c;有六个棋子被放置在棋盘上&#xff0c;使得每行、每列有且只有一个&#xff0c;每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列2 4 6 1 3 5来描述&#xff0c;第…

剑指offer 38. 字符串的排列(回溯算法,递归思想)

2020年12月29日 周二 天气晴 【不悲叹过去&#xff0c;不荒废现在&#xff0c;不惧怕未来】 1. 题目简介 剑指 Offer 38. 字符串的排列 2. 回溯算法 回溯算法&#xff0c;递归思想&#xff0c;总给人一种无从下手的感觉。其实这道题的核心思想就是&#xff1a;当前位和其它…

[洛谷]P1162 填涂颜色(搜索连通块)

关键思路转换&#xff1a;从边界为0开始搜索&#xff0c;并且都标记&#xff0c;这些标记的不会被1包围&#xff0c;被1包围的肯定0不会被标记到&#xff0c;所以到时候把没被标记的0就是变成2即可。 详细&#xff1a; ACcode: #include<bits/stdc.h> using namespace s…

PAT甲级真题 1090 Highest Price in Supply Chain (25分) C++实现(dfs)

题目 A supply chain is a network of retailers&#xff08;零售商&#xff09;, distributors&#xff08;经销商&#xff09;, and suppliers&#xff08;供应商&#xff09;-- everyone involved in moving a product from supplier to customer. Starting from one root s…

acwing 180 排书(IDA*)

题面 题解(IDA*) IDA* 与A*算法思想相似&#xff0c;就是在迭代加深的基础上进行优化&#xff0c;当遍历当前节点时&#xff0c;如果当前深度 预估正解深度 > 设定的最大深度 &#xff0c;则提前退出 分析 正解 枚举放到哪个位置&#xff1a;本质其实就是交换两个相邻两段&…

acwing 170 加成序列(迭代加深)

题面 题解(迭代加深) 迭代加深 使用场景&#xff1a;当存在较长的分支时&#xff0c;而答案却在很短的分支。我们在搜索较长 的分支时会浪费大量的时间 大体思想&#xff1a;设定一个最大的搜索层数&#xff0c;如果可以搜索到答案&#xff0c;直接退出&#xff0c; 如果无解&…

acwing 165 小猫爬山 (DFS剪枝)

题面 题解 剪枝分类 dfs优化主要分成5类 1、优化搜索顺序(大部分情况下&#xff0c;我们应该优先搜索分支较少的结点) 2、排除等效冗余 3、可行性剪枝 4、最优性剪枝 5、记忆化搜索 做法 依次遍历所有的猫&#xff0c;通过第u只猫往现有的第k个辆车中放来遍历所有情况&#x…

acwing 1118分成互质数(DFS搜索顺序)

题面 题解 枚举组&#xff0c;开始将第一个数放入第一组&#xff0c;然后判断下一个数能否放到这个组&#xff0c;如果能就继续dfs下一个数&#xff0c;如果不能就新开一个组&#xff0c;从头开始扫描没有被放的数能否放到新的组 代码 #include<iostream> #include<c…

【队伍训练3】Codeforces Round #661 (Div. 3)

A 签到 #include<bits/stdc.h>#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; int a[105]; int main(){iosint n,t;cin>>t;while(t--){cin>>n;for(int i1;i<n;i){cin>>a[i];}sort(a1,an1);bool flag1;for…

【队伍训练2】 AtCoder Beginner Contest 165

A 水题&#xff1a; #include<bits/stdc.h>using namespace std;int main(){int k;cin>>k;int a,b;cin>>a>>b;for(int i1;;i){if(i*k > b) {cout<<"NG"<<endl;break;}if(i*k>a && i*k<b){cout<<"O…

路径总和 【 leetcode - 112 - 简单】

胡扯&#xff1a;这个题的确见证了我的进步&#xff0c;连续刷了几天的dfs了&#xff0c;从开始的不知如何下手&#xff0c;到这个一次提交以打败 100% 通过&#xff0c;开心。 思路&#xff1a; 1、日常非空判断 2、遍历求和。 3、如果是叶子节点就判断当前节点的和&#xff0…

对称二叉树 【leetcode - 101 - 简单】

胡扯&#xff1a;这个题&#xff0c;感觉挺好的。 这里给出两种思路&#xff0c;第二种思路是参考别人的思路写出来的&#xff0c;但是&#xff0c;里面的递归让我弄了很久&#xff0c;也让我对递归更加清楚了一些。事情慢慢变得有趣了 ... 思路一&#xff1a; 1、这个是我最…

平衡二叉树 【leetcode - 110 - 简单】

胡扯&#xff1a;这个题做的时间还是比较长的&#xff0c;虽然只是一个简单题。不过在做的过程中一直觉得自己可以做出来的。哈哈&#xff0c;最后代码不是很好&#xff0c;只打败百分之36的人&#xff0c;这也是想到的&#xff0c;毕竟写了两次DFS和递归&#xff0c;代码不慢才…

递增顺序查找树 【leetcode - 897 - 简单】

胡扯&#xff1a;之前吐槽的 leetcode 使用全局变量的问题&#xff0c;应该是我操作的问题。java还是可以使用全局变量的&#xff0c;只要 别在全局变量前面加上 static 就好了。从本题开始&#xff0c;坚持每道题都写一篇简短的文章。 原题位置 &#xff1a;https://leetcode…

图像渲染 【leetcode - 733 - 简单】

胡扯&#xff1a;这个题在评论区有人说看不懂&#xff0c;我个人觉得还比较好理解。建议遇到不太好理解的题目的时候&#xff0c;动手拿笔写写画画&#xff0c;有助于理解。日常吐槽 leetcode 不可以用全局变量的问题。明明说是 c/c&#xff0c;不可以&#xff0c;但是我用的是…

N叉树的最大深度 DFS 最简单算法

胡扯 &#xff1a; 最近开始做算法题&#xff0c;遇到了一个瓶颈。就是 DFS&#xff08;深度优先遍历&#xff09;&#xff0c;BFS&#xff08;广度优先遍历&#xff09;。这块简单来说 就是我啥也不会&#xff0c;之前在数据结构这门课上老师讲过&#xff0c;但是没有好好听&…

DFS讲解及JAVA实现

从白话的角度去说DFS的思想&#xff0c;大约也就是从最开始的状态开始一条路走到底&#xff0c;如果不能寻找到最优解&#xff0c;就从上一个点&#xff0c;再走到底&#xff0c;直到找到最优解。 BFS讲解及Java实现&#xff1a;https://blog.csdn.net/qq_41936805/article/de…

PAT甲级真题 1087 All Roads Lead to Rome (30分) C++实现(Dijkstra+DFS,带权无向图最优最短路径)

题目 Indeed there are many different tourist routes from our city to Rome. You are supposed to find your clients the route with the least cost while gaining the most happiness. Input Specification: Each input file contains one test case. For each case, the…

7.4 dfs例题-----数独游戏

题目&#xff1a; 即每一行、每一列、每一3*3的格子都含有1~9的全部数字&#xff0c;且不重复 解析&#xff1a;递归求解。 每次确定一个位置的数字&#xff0c;就一路走到底或者中间数字不合法&#xff0c;再返回上一层继续查找 import java.util.Scanner;public class Main …

LeetCode 200. 岛屿数量

1、题目 给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以…

问题 A: DS树--带权路径和

题目描述 计算一棵二叉树的带权路径总和&#xff0c;即求赫夫曼树的带权路径和。 已知一棵二叉树的叶子权值&#xff0c;该二叉树的带权案路径和APL等于叶子权值乘于根节点到叶子的分支数&#xff0c;然后求总和。如下图中&#xff0c;叶子都用大写字母表示&#xff0c;权值对…

HDLBits:在线学习 Verilog (十六 · Problem 75 - 79)

本系列内容来自于知乎专栏&#xff0c;链接如下&#xff1a;https://zhuanlan.zhihu.com/c_1131528588117385216本系列文章将和读者一起巡礼数字逻辑在线学习网站 HDLBits 的教程与习题&#xff0c;并附上解答和一些作者个人的理解&#xff0c;相信无论是想 7 分钟精通 Verilog…

LeetCode面试题13:机器人的运行范围

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

L3-3 寻宝路线

题目来源&#xff1a;天梯赛训练题 在一个m行n列方格矩阵中&#xff0c;每一个方格内摆放着价值不等的宝贝&#xff08;价值可正可负&#xff09;&#xff0c;让小明感到好奇的是&#xff0c;从左上角到达右下角的所有可能路线中&#xff0c;能捡到宝贝的价值总和最大是多少&a…

PAT甲级真题 1021 Deepest Root (25分) C++实现(两次DFS遍历,注意测试点3内存超限错误,需用邻接表存储图)

题目 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 deepest root. Input Specification: Ea…

逐步生成式递归

本文目录1. 走楼梯2. 机器人走格子3. 非空子集&#xff08;递归|迭代&#xff09;4. 非空子集&#xff08;二进制&#xff09;5. 全排列&#xff08;迭代&#xff09;6. 全排列&#xff08;递归回溯法&#xff09;7. 全排列&#xff08;前缀法&#xff09;8. 全排列&#xff08…

图论——遍历算法

文章目录图论——遍历算法DFS遍历BFS遍历建图类图论——遍历算法 DFS遍历 深度优先搜索&#xff0c;以深度优先&#xff0c;直到走不下去&#xff0c;回退&#xff0c;对应的数据结构stack 对于上图dfs的流程如下 第一个节点0入栈&#xff0c;把0标记为已访问 遍历0的所有邻…

第十一届蓝桥省赛 —— 七段码解析 全排列 + DFS / 并查集判断图联通

七段码 小蓝要用七段码数码管来表示一种特殊的文字。 上图给出了七段码数码管的一个图示&#xff0c;数码管中一共有 7 段可以发光的二极管&#xff0c;分别标记为 a, b, c, d, e, f, g。 小蓝要选择一部分二极管&#xff08;至少要有一个&#xff09;发光来表达字符。在设计…

深度优先搜索

深度优先搜索 从起点出发&#xff0c;走过的点要做标记&#xff0c;发现有没走过的点&#xff0c;就随意挑一个往前走&#xff0c;走不了就回退&#xff0c;此种路径搜索策略就称为“深度优先搜索”&#xff0c;简称“深搜”。 其实称为“远度优先搜索”更容易理解些。因为这种…

Leetcode.100 相同的树

题目链接 Leetcode.100 相同的树 easy 题目描述 给你两棵二叉树的根节点 p和 q&#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3…

西行妖

Description 给出一棵树&#xff0c;你可以让最多s个叶子节点被染色。 然后&#xff0c;如果一个节点的儿子至少有一个被染色&#xff0c;那么他也会被染色。 如果一棵树有大于等于m个被染色的点&#xff0c;那么这棵树就是美丽的。 问给出一棵树&#xff0c;有多少种染色方…

2019牛客暑期多校训练营(第二场)F

题意&#xff1a;有2*N个人&#xff0c;分成两队&#xff0c;每组n个人&#xff0c;求一个组中所有人和另外一组的所有人的竞争值之和。 比赛时没看懂题目以为是什么高深难题没做出来。。。 后面看了题解才发现&#xff0c;暴力枚举就可以过了。。。。 先将所有人归为1队&…

深度优先DFS搜索算法

深度优先DFS搜索 什么是深度优先搜索&#xff1f; 深度优先搜索&#xff08;DFS ,Depth-First Search&#xff09;是搜索手段之一。它从某个状态&#xff0c;不断地转移状态直到无法转移&#xff0c;然后回退到前一步的状态&#xff0c;继续转移到其他状态&#xff0c;如此不断…

【算法与数据结构】——图的遍历(三、深度优先搜索DFS)

图的遍历&#xff08;三、深度优先搜索DFS&#xff09; 深度优先搜索(DFS, Depth First Search)是一个针对图和树的遍历算法。早在19世纪就被用于解决迷宫问题。 对于下面的树而言&#xff0c;DFS方法首先从根节点1开始&#xff0c;其搜索节点顺序是1,2,3,4,5,6,7,8&#xff08…

牛客习题——牛牛与LCM(数论+搜索)

本人主要用的是DFS搜索&#xff0c;有几处剪枝&#xff1a; 1.先检查a[n]中是否有a[i]x&#xff0c;有直接输出Possible&#xff0c;结束程序&#xff1b; 2.再检测x是否为质数&#xff0c;如果是&#xff0c;输出Impossible&#xff0c;结束程序&#xff0c;否则继续&#xff…

第 113 场 LeetCode 双周赛题解

A 使数组成为递增数组的最少右移次数 数据范围小直接模拟… class Solution { public:int minimumRightShifts(vector<int> &nums) {for (int op 0; op < nums.size(); op) {if (is_sorted(nums.begin(), nums.end()))//nums是否已经有序return op;rotate(nums.b…

C++ [NOIP2002]选数题解——简单数论与DFS的运用

问题 F(1413): [NOIP2002]选数 时间限制: 1 Sec 内存限制: 64 MB 题目描述 已知 n 个整数 x1,x2,…,xn&#xff0c;以及一个整数 k&#xff08;k&#xff1c;n&#xff09;。从 n 个整数中任选 k 个整数相加&#xff0c;可分别得到一系列的和。例如当 n4&#xff0c;k&…

LeetCode_BFS_DFS_中等_841.钥匙和房间

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而&#xff0c;你不能在没有获得钥匙的时候进入锁住的房间。 当你…

【图解算法】有趣的二分图问题——一起来染色

我们定义一个二分图 如果我们能将一个图的节点集合分割成两个独立的子集A和B&#xff0c;并使图中的每一条边的两个节点一个来自A集合&#xff0c;一个来自B集合&#xff0c;我们就将这个图称为二分图。 请说人话&#xff01; 在这个图中&#xff0c;一条边的两端节点&#xf…

蓝桥杯 历届试题 幸运数 (堆+DFS)

传送门&#xff1a;蓝桥杯题目大意&#xff1a; 求区间 [m,n] 中幸运数的个数。锦囊2&#xff1a; 从左到右扫描&#xff0c;用一下堆来处理&#xff0c;堆的每项记录下要删的倍数和当前删到的值&#xff0c;以当前删到的值建小根堆。每次取出一个加上一次倍数再放回去。枚举每…

DFS + 剪枝策略

&#xff08;0&#xff09;目录 剪枝算法(算法优化) 回溯算法 和 贪心算法&#xff08;全排列&#xff09; 记忆化搜索&#xff08;搜索dp思想&#xff09; 动态规划 之 最长上升序列 动态规划 之 背包系列 动态规划 之 dp 图搜索 动态规划 之 最长公共子序列&am…

7.5 dfs竞赛题----部分和(挑战程序设计竞赛)

import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner;public class Main {static int n; //元素个数static int[] a; //元素数组static int k; //需得到的数字static ArrayList<Integer> res new ArrayList();public static void main(Stri…

二叉树的堂兄弟 Cousins in Binary Tree

文章目录二叉树的堂兄弟 Cousins in Binary Tree思路Tag二叉树的堂兄弟 Cousins in Binary Tree 在二叉树中&#xff0c;根节点位于深度 0 处&#xff0c;每个深度为 k 的节点的子节点位于深度 k1 处。 如果二叉树的两个节点深度相同&#xff0c;但 父节点不同 &#xff0c;则…

1018 Public Bike Management

题目来源&#xff1a;PAT (Advanced Level) Practice There is a public bike service in Hangzhou City which provides great convenience to the tourists from all over the world. One may rent a bike at any station and return it to any other stations in the city.…

从前序和中序遍历构造二叉树(递归)

题目描述 给出一棵树的前序遍历和中序遍历&#xff0c;请构造这颗二叉树 注意&#xff1a; 可以假设树中不存在重复的节点 /*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/class Solution { public:/*** * param preorder int整型ve…

粘木棍连续因子

1.粘木棍 题目在此&#xff1a;“蓝桥杯”练习系统 (lanqiao.cn) 问题描述 有N根木棍&#xff0c;需要将其粘贴成M个长木棍&#xff0c;使得最长的和最短的的差距最小。 输入格式 第一行两个整数N,M。   一行N个整数&#xff0c;表示木棍的长度。 输出格式 一行一个整数&…

回溯法拓展2 educoder

第1关&#xff1a;非递归实现皇后问题 任务描述 本关任务&#xff1a;在nn格的棋盘上放置彼此不受攻击的 n 个皇后。按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。用非递归算法解决该问题。 测试输入&#xff1a;4&#xff08;皇后的…

回溯法educoder

回溯算法也叫试探法&#xff0c;它是一种系统地搜索问题的解的方法。 用回溯算法解决问题的一般步骤&#xff1a; 1、 针对所给问题&#xff0c;定义问题的解空间&#xff0c;它至少包含问题的一个&#xff08;最优&#xff09;解。 2 、确定易于搜索的解空间结构,使得能用回溯…

[洛谷 OJ]P1101 单词方阵

题目描述 给一n \times nnn的字母方阵&#xff0c;内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 88 个方向的任一方向&#xff0c;同一单词摆放时不再改变方向&#xff0c;单词与单词之间可以交叉,因此有可能共用字母。输出时&#xff0c…

[洛谷 OJ]P1019 单词接龙

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

2015年第六届蓝桥杯省赛AB组全部编程题和部分填空题AC代码(仅不包含A组第十题灾后重建)

文章目录方程整数解星系炸弹牌型总数手链样式饮料换购奖券数目加法变乘法移动距离生命之树打印大X方程整数解 import java.io.*; import java.util.*;public class Main {private static final Class<int[]> Comparator null;public static void main(String args[]){i…

判断一棵二叉树是否完全二叉树

目录什么是完全二叉树思路代码什么是完全二叉树 百度百科中对完全二叉树的定义如下&#xff1a; 若设二叉树的深度为 h&#xff0c;除第 h 层外&#xff0c;其它各层 (1&#xff5e;h-1) 的结点数都达到最大个数&#xff0c;第 h 层所有的结点都连续集中在最左边&#xff0c;这…

51nod 1625 夹克爷发红包(DFS+贪心)代码详解

传送门&#xff1a;51nod 1625 思路&#xff1a; 一开始和大家一样&#xff0c;都是每次挑出能得到最大利润的行或列派发红包&#xff0c;但总是有几组数据过不去……后来才发现&#xff0c;原来给某一行派发红包的时候会影响到对应的列&#xff0c;反之亦然。 而让我们想明白…

acwing 1220 生命之树 (树形DP)

题面 题解 代码 #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm>using namespace std; typedef long long ll; const int N 1e5 10, M N * 2;int n; ll w[N]; ll h[N], e[M], ne[M], idx; ll …

分治递归——Red and Black

原题链接&#xff1a;POJ—1979 题目大意&#xff1a;题目意思很简单&#xff0c;给出起始点""&#xff0c;可以走的点为"."&#xff0c;不可以走的点为"#"&#xff0c;问所有能走的点有多少个。 题目解法&#xff1a;水题&#xff0c;DFS递归解…

分支递归——Fractal

原题链接&#xff1a;POJ—2083 题目大意&#xff1a;题目大意是比较明显的&#xff0c;输入一个数n&#xff0c;按题目示意输出相应的图形。 题目解法&#xff1a;分形&#xff0c;用DFS以及递归。输出图形的方式是最后一块输出&#xff0c;建立maps数组&#xff0c;然后更改m…

2021牛客暑期多校训练营3 24dian

https://ac.nowcoder.com/acm/contest/11254/F 一道标准的搜索题。 注意题目有坑点&#xff0c;其他按照搜索即可。 我的写法中包含两层搜索精度的控制。 #include <iostream> #include <vector> #include <string> #include <cmath> #include <s…

1432. 棋盘挑战

题目 给定一个 NN 的棋盘&#xff0c;请你在上面放置 N 个棋子&#xff0c;要求满足&#xff1a; 每行每列都恰好有一个棋子 每条对角线上都最多只能有一个棋子 1 2 3 4 5 6------------------------- 1 | | O | | | | |------------------------- 2 | …

【LeetCode】 200. 岛屿数量

题目 题目传送门&#xff1a;传送门&#xff08;点击此处&#xff09; 题解 思路 题目虽然是 中等 题目&#xff0c;但也是比较经典的题目&#xff0c;比如说之前做过的 994. 腐烂的橘子&#xff0c;和这道题目很像&#xff0c;都是比较经典的图的遍历&#xff0c;直接使用…

数独(c++ dfs实现)

数独概念&#xff0c;思路&#xff0c;解法思路&#xff0c;Ccode 该博客整体代码的思路十分的清晰&#xff0c;值得借鉴&#xff01; 上述博客当中的代码dfs知识输出的一种数组的答案&#xff0c;如果该数独有多中解法的话&#xff0c;只需将dfs的代码简单改动即可&#xff…

山东财经大学新生赛暨天梯赛选拔赛 E-旅行商问题

链接&#xff1a;https://ac.nowcoder.com/acm/contest/547/E 来源&#xff1a;牛客网 旅行商来到了一个新的国家&#xff0c;这个国家有N个城市&#xff0c;他们直接由N-1条道路相连接&#xff0c;每条道路的长度不尽相同 旅行商现在在1号城市&#xff0c;若他要每一个城市都…

200. 岛屿数量(并查集、DFS)

200. 岛屿数量 方法一、DFS或BFS 遍搜索遍改变&#xff0c;访问数组也不需要 class Solution {int res Integer.MIN_VALUE;int[][] dir new int[][] { { 0, 1 }, { 0, -1 }, { 1, 0 }, { -1, 0 } };int r;int c;public int numIslands(char[][] grid) {if(grid.length 0)…

数据结构C++——图的遍历DFS和BFS

数据结构C——图的遍历DFS和BFS 文章目录数据结构C——图的遍历DFS和BFS一、深度优先搜索遍历&#xff08;DFS&#xff09;①DFS的过程②FirstAdjVex()函数的代码实现③NextAdjVex()函数的代码实现④深度优先搜索遍历连通图⑤深度优先搜索遍历非连通图⑥采用邻接矩阵表示DFS⑦采…

Java实现回溯算法进阶(搜索)

从Java实现回溯算法入门&#xff08;排列组合子集&#xff09;练习了使用回溯算法的基础使用。 使用回溯算法实现搜索才是回溯算法DFS的使用。 文章目录1.搜索问题79.单词搜索212.单词搜索Ⅱ130.被围绕的区域200.岛屿的数量22.括号生成113. 路径总和Ⅱ剑指 Offer 13. 机器人的…

华为机试:数组二叉树

【编程题目 | 200分】数组二叉树 [ 200 / 中等 ] 数组二叉树 题目描述&#xff1a; 二叉树也可以用数组来存储&#xff0c;给定一个数组&#xff0c;树的根节点的值存储在下标1&#xff0c;对于存储在下标N的节点&#xff0c;它的左子节点和右子节点分别存储在下标2N和2N1&a…

dfs求联通块(油田,01迷宫)

1.先用一个经典的问题来说下联通块 油田”问题是一个比较经典的体现DFS思想的题目&#xff0c;经过学习&#xff0c;对DFS也有了一点理解&#xff0c;下面介绍下这个题目~ 题目来源&#xff1a; Mid-Central USA 1997,ZOJ1709,POJ1562 题目描述&#xff1a; GeoSurvComp地质…

【LeetCode】79、单词搜索(dfs,回溯,vector二维数组动态初始化)

题目描述 给定一个二维网格和一个单词&#xff0c;找出该单词是否存在于网格中。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用 示例&#xff1a;…

LeetCode 0617. 合并二叉树

【LetMeFly】617.合并二叉树 力扣题目链接&#xff1a;https://leetcode.cn/problems/merge-two-binary-trees/ 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而…

【力扣周赛】第 364 场周赛⭐(前后缀分解+单调栈DFS技巧)

文章目录 竞赛链接Q1&#xff1a;2864. 最大二进制奇数&#xff08;贪心&#xff09;写法1——手动模拟&#xff08;代码长&#xff0c;运行快&#xff09;写法2——API&#xff08;代码短&#xff0c;运行慢&#xff09; Q2&#xff1a;2865. 美丽塔 I竞赛时代码——枚举山顶 …

LeetCode39- 组合总和

&#x1f517;:参考的题解:LeetCode39- 组合总和 class Solution {public List<List<Integer>> combinationSum(int[] candidates, int target) {List<Integer> pathnew ArrayList<>();List<List<Integer>> pathsnew ArrayList<>()…

人工智能-确定性推理

图搜索策略 搜索的过程实际上就是转化为在状态空间图上寻找一条从初识节点到目标节点的路径。 盲目搜索 BFS 宽度优先搜索 DFS 深度优先搜索 UCS 一致代价搜索&#xff08;又名Dijkstra算法&#xff0c;由BFS拓展而来&#xff09;DFS遍历到目标节点就结束&#xff0c;因此找到…

树与图的深度优先遍历、广度优先遍历算法总结

知识概览 树是特殊的图&#xff0c;是无环连通图图分为有向图和无向图。因为无向图可以转化为有向图&#xff0c;树可以转化为图。因此本文讨论有向图。 树和图的存储&#xff1a; 邻接矩阵&#xff1a;空间复杂度&#xff0c;适合存储稠密图。邻接表&#xff1a;存储每个点可以…

【重点!!!】【背包】【回溯】518.零钱兑换II

题目 跟39.组合总数、322.零钱兑换题目很类似。 法1&#xff1a;背包DP&#xff0c;最优解法 解释如下&#xff1a; 0 1 2 3 4 5(背包容量)1 0 0 0 0 0 没有硬币的时候&#xff09; 0 1 2 3 4 5(背包容量) 1 1 1 1 1 1 1 0 1 2 3 4 5(背包容量) 1 …

前端面试100问(5)

码字不易&#xff0c;有帮助的同学希望能关注一下我的微信公众号&#xff1a;Code程序人生&#xff0c;感谢&#xff01;代码自用自取。 题目&#xff1a; 介绍下深度优先遍历和广度优先遍历&#xff0c;如何实现&#xff1f; 第五题问的是深度优先遍历和广度优先遍历&#xf…

网课:N皇后问题——牛客(题解和疑问)

题目描述 给出一个nnn\times nnn的国际象棋棋盘&#xff0c;你需要在棋盘中摆放nnn个皇后&#xff0c;使得任意两个皇后之间不能互相攻击。具体来说&#xff0c;不能存在两个皇后位于同一行、同一列&#xff0c;或者同一对角线。请问共有多少种摆放方式满足条件。 输入描述: …

使用 DFS 和并查集方法解决岛问题

使用 DFS 和并查集方法解决岛问题 作者&#xff1a;Grey 原文地址&#xff1a; 博客园&#xff1a;使用 DFS 和并查集方法解决岛问题 CSDN&#xff1a;使用 DFS 和并查集方法解决岛问题 题目描述 题目链接 解法一 &#xff1a;DFS 遍历二维数组&#xff0c;设定一个全局…

【蓝桥】小蓝的疑问

1、题目 问题描述 小蓝和小桥上完课后&#xff0c;小桥回顾了课上教的树形数据结构&#xff0c;他在地上画了一棵根节点为 1 的树&#xff0c;并且对每个节点都赋上了一个权值 w i w_i wi​。 小蓝对小桥多次询问&#xff0c;每次询问包含两个整数 x , k x,k x,k&#xff…

图的遍历方法——DFS和BFS

DFS类似于树的先序遍历&#xff0c;因此可以用递归实现&#xff1b; BFS类似于树的层次遍历&#xff0c;因此可以用队列实现。 说明&#xff1a;下面代码中图的存储方式是邻接表。关于邻接表和邻接矩阵可看邻接表和邻接矩阵 1.深度优先遍历&#xff08; Depth First Searc…

递归的一些问题

题目1&#xff1a;正则问题 1225. 正则问题 - AcWing题库 首先要掌握两点正则运算的基础知识&#xff1a;①括号代表优先计算&#xff0c;②或符号代表二选一。 首先计算一下样例&#xff1a; 可以发现&#xff0c;我们的计算过程可以构成一棵树&#xff1a; 当我们碰到左括号…

C语言-深度优先遍历

查找函数&#xff08;LocateVex查找坐标&#xff09;构建无向图&#xff08;Undirected Graph&#xff09;输出邻接矩阵&#xff08;print&#xff09;深度优先查找函数&#xff08;DFS&#xff09;深度优先遍历&#xff08;DFSTraverse&#xff09; 图的遍历 深度优先遍历&a…

岛屿的周长

463. 岛屿的周长 class Solution:def islandPerimeter(self, grid: List[List[int]]) -> int:res 0m, n len(grid), len(grid[0])# 遍历grid&#xff0c;就是所有的封闭岛屿for i in range(m):for j in range(n):if grid[i][j] 1:res self.dfs_matrix(grid, i, j)retur…

每日OJ题_二叉树dfs①_力扣2331. 计算布尔二叉树的值

目录 力扣2331. 计算布尔二叉树的值 解析代码 力扣2331. 计算布尔二叉树的值 2331. 计算布尔二叉树的值 难度 简单 给你一棵 完整二叉树 的根&#xff0c;这棵树有以下特征&#xff1a; 叶子节点 要么值为 0 要么值为 1 &#xff0c;其中 0 表示 False &#xff0c;1 表示…

游戏分组/王者荣耀

题目描述 部门准备举办一场王者荣耀表演赛&#xff0c;有 10 名游戏爱好者参与&#xff0c;分 5 为两队&#xff0c;每队 5 人。 每位参与者都有一个评分&#xff0c;代表着他的游戏水平。 为了表演赛尽可能精彩&#xff0c;我们需要把 10 名参赛者分为实力尽量相近的两队。一…

【蓝桥杯-景区导游】

蓝桥杯-景区导游 题目思路dfs暴力代码总结 题目 思路 根据题目要求&#xff0c;不同景点间的花费可以画成这种树 比如2 6 5 1 先求出总的花费 然后根据删去不同经典的不同的情况去计算 注意&#xff0c;题目已经直接给的两个直接连接景点的花费可以直接统计 间接连接的两个景…

数据结构知识点总结12-(第六章.图)-图的存储结构及图的遍历

专栏主页&#xff1a;计算机专业基础知识总结&#xff08;适用于期末复习考研刷题求职面试&#xff09;系列文章https://blog.csdn.net/seeker1994/category_12585732.html ...... 数据结构知识点总结11-(第六章.图)-图的基本概念 数据结构知识点总结13-(第六章.图)-图的应用…

历届试题 剪格子 (蓝桥杯)

问题描述如下图所示&#xff0c;3 x 3 的格子中填写了一些整数。--*----|10* 1|52|--****--|20|30* 1|*******--| 1| 2| 3|------我们沿着图中的星号线剪开&#xff0c;得到两个部分&#xff0c;每个部分的数字和都是60。本题的要求就是请你编程判定&#xff1a;对给定的m x n …

历届试题 波动数列

问题描述观察这个数列&#xff1a;1 3 0 2 -1 1 -2 ...这个数列中后一项总是比前一项增加2或者减少3。栋栋对这种数列很好奇&#xff0c;他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢&#xff1f;输入格式输入的第一行包含四个整数 …

C++深度优化(DFS)算法的应用:收集所有金币可获得的最大积分

涉及知识点 深度优化(DFS) 记忆化 题目 节点 0 处现有一棵由 n 个节点组成的无向树&#xff0c;节点编号从 0 到 n - 1 。给你一个长度为 n - 1 的二维 整数 数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示在树上的节点 ai 和 bi 之间存在一条边。另给你一个下标从 0…

DFS文件夹无法访问

最近DFS的文件服务器出现了部分文件和文件夹无法访问的情况。客户端直接访问DFS成员的共享文件夹时有是会出现Element not found的错误。有时打开文件的时候会出现文件不存在&#xff0c;或者你没有权限的错误。这些问题随机发生。没有什么规律可循。 初步定位到是由于DFS的na…

PAT 1021. Deepest Root (25)(dfs求每个root的层数)(待修改)

题目 1021. Deepest Root (25) 时间限制 1500 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A graph which is connected and acyclic can be considered a tree. The height of the tree depends on the selected root. Now you …

PAT 1018. Public Bike Management (30)(Dijkstra,dfs根据pre[]输出路径,双向计算)

题目 1018. Public Bike Management (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue There is a public bike service in Hangzhou City which provides great convenience to the tourists from all over the wo…

C++深度优先(DFS)算法的应用:收集所有金币可获得的最大积分

涉及知识点 深度优化(DFS) 记忆化 题目 节点 0 处现有一棵由 n 个节点组成的无向树&#xff0c;节点编号从 0 到 n - 1 。给你一个长度为 n - 1 的二维 整数 数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示在树上的节点 ai 和 bi 之间存在一条边。另给你一个下标从 0…

排列数字 (dfs)

希望这篇题解对你有用&#xff0c;麻烦动动手指点个赞或关注&#xff0c;感谢您的关注~ 不清楚蓝桥杯考什么的点点下方&#x1f447; 考点秘籍 想背纯享模版的伙伴们点点下方&#x1f447; 蓝桥杯省一你一定不能错过的模板大全(第一期) 蓝桥杯省一你一定不能错过的模板大全…

题解:ABC277C - Ladder Takahashi

题解&#xff1a;ABC277C - Ladder Takahashi 题目 链接&#xff1a;Atcoder。 链接&#xff1a;洛谷。 难度 算法难度&#xff1a;普及。 思维难度&#xff1a;入门。 调码难度&#xff1a;入门。 综合评价&#xff1a;简单。 算法 深度优先搜索简单图论 思路 把每…

罗勇军 → 算法竞赛·快冲300题》每日一题:“冰雹猜想II”

【题目来源】http://oj.ecustacm.cn/problem.php?id1744http://oj.ecustacm.cn/viewnews.php?id1023【题目描述】 冰雹猜想是指对于任意一个正整数&#xff0c;如果它是奇数&#xff0c;则对它乘3加1&#xff0c;如果是偶数&#xff0c;则除以2&#xff0c;最终会变成1&#…

罗勇军 →《算法竞赛·快冲300题》每日一题:“超级骑士” ← DFS

【题目来源】http://oj.ecustacm.cn/problem.php?id1810http://oj.ecustacm.cn/viewnews.php?id1023https://www.acwing.com/problem/content/3887/【题目描述】 现在在一个无限大的平面上&#xff0c;给你一个超级骑士。 超级骑士有N种走法&#xff0c;请问这个超级骑士能否…

图的学习,深度和广度遍历

一、什么是图 表示“多对多”的关系 包括&#xff1a; 一组顶点&#xff1a;通常用V&#xff08;Vertex&#xff09;表示顶点集合一组边&#xff1a;通常用E&#xff08;Edge&#xff09;表示边的集合 边是顶点对&#xff1a;(v, w)∈E&#xff0c;其中v,w∈V有向边<v, w&…

Leetcode 2858. Minimum Edge Reversals So Every Node Is Reachable

Leetcode 2858. Minimum Edge Reversals So Every Node Is Reachable 1. 解题思路2. 代码实现 题目链接&#xff1a;2858. Minimum Edge Reversals So Every Node Is Reachable 1. 解题思路 这一题也有点惭愧&#xff0c;因为没能自力做出来&#xff0c;不过思路上其实是想到…

LeetCode 热题 HOT 100:回溯专题

LeetCode 热题 HOT 100&#xff1a;https://leetcode.cn/problem-list/2cktkvj/ 文章目录 17. 电话号码的字母组合22. 括号生成39. 组合总和46. 全排列补充&#xff1a;47. 全排列 II &#xff08;待优化)78. 子集79. 单词搜索124. 二叉树中的最大路径和200. 岛屿数量437. 路径…

Leetcode.2867 统计树中的合法路径数目

题目链接 Leetcode.2867 统计树中的合法路径数目 rating : 2428 题目描述 给你一棵 n n n 个节点的无向树&#xff0c;节点编号为 1 1 1 到 n n n 。给你一个整数 n n n 和一个长度为 n − 1 n - 1 n−1 的二维整数数组 e d g e s edges edges &#xff0c;其中 e d g …

力扣第797题 所有可能的路径 C++ 深度优先搜索 +java

题目 797. 所有可能的路径 中等 相关标签 深度优先搜索 广度优先搜索 图 回溯 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从…

解题方式篇-回溯

回溯算法 1、简介 简介&#xff1a;回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。 回溯是递归的副产品&#xff0c;只要有递归就会有回溯。回溯是一种暴力的搜索方式。 回溯法&#xff0c;一般可以解决如下几种问题&#xff1a;组合&#xff08;无序&#xff0…

2024/1/18 DFS BFS

目录 奇怪的电梯 马的遍历 PERKET&#xff08;个人认为很抽象&#xff09; 奇怪的电梯 P1135 奇怪的电梯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff0c;还是用的bfs&#xff0c;建立一个结构体类型的队列&#xff0c;一个存当前的电梯层数&#xff0c;一…

搜索回溯算法(DFS)1------递归

目录 简介&#xff1a; 递归问题解题的思路模板 例题1&#xff1a;汉诺塔 例题2&#xff1a;合并两个有序链表 例题3&#xff1a;反转链表 例题4&#xff1a;两两交换链表中的节点 例题5&#xff1a;Pow&#xff08;x,n&#xff09;-快速幂 结语&#xff1a; 简介&…

【图】:常用图搜索(图遍历)算法

目录 概念图遍历深度优先搜索 (DFS)DFS 适用场景DFS 优缺点 广度优先搜索 (BFS)BFS 适用场景BFS 优缺点 DFS & BFS 异同点 图搜索Dijkstra算法A*算法Floyd算法Bellman-Ford算法SPFA算法 概念 图遍历和图搜索是解决图论问题时常用的两种基本操作。 图遍历是指从图中的某一个…

【算法】新年好(堆优化dijkstra)

题目 重庆城里有 n 个车站&#xff0c;m 条 双向 公路连接其中的某些车站。 每两个车站最多用一条公路连接&#xff0c;从任何一个车站出发都可以经过一条或者多条公路到达其他车站&#xff0c;但不同的路径需要花费的时间可能不同。 在一条路径上花费的时间等于路径上所有公路…

颜色平衡树(DFS)

题目描述 给定一棵树&#xff0c;结点由 1 至 n 编号&#xff0c;其中结点 1 是树根。树的每个点有一个颜色 Ci。 如果一棵树中存在的每种颜色的结点个数都相同&#xff0c;则我们称它是一棵颜色平衡树。 求出这棵树中有多少个子树是颜色平衡树。 输入格式 输入的第一行包…

Leetcode.2477 到达首都的最少油耗

题目链接 Leetcode.2477 到达首都的最少油耗 rating : 2012 题目描述 给你一棵 n n n 个节点的树&#xff08;一个无向、连通、无环图&#xff09;&#xff0c;每个节点表示一个城市&#xff0c;编号从 0 0 0 到 n − 1 n - 1 n−1 &#xff0c;且恰好有 n − 1 n - 1 n−…

Leetcode—51.N皇后【困难】

2023每日刷题&#xff08;八十四&#xff09; Leetcode—51.N皇后 算法思想 实现代码 class Solution { public:vector<vector<string>> solveNQueens(int n) {vector<int> col(n), on_path(n), diag1(2*n), diag2(2*n);vector<vector<string>>…

【递归搜索回溯专栏】专题二:二叉树中的深搜----计算布尔二叉树的值

本专栏内容为&#xff1a;递归&#xff0c;搜索与回溯算法专栏。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;递归搜索回溯专栏 &#x1f69a;代码仓库&#xff1a;小小unicorn的代…

NOIP2018-S-DAY1-3-赛道修建(洛谷P5021)的题解

目录 题目 原题描述&#xff1a; 题目描述 输入格式 输出格式 输入输出样例 主要思路&#xff1a; check&#xff1a; 真正的code: 原题描述&#xff1a; 题目描述 C 城将要举办一系列的赛车比赛。在比赛前&#xff0c;需要在城内修建 条赛道。 C 城一共有 个路…

L2-048 寻宝图 (DFS做法)

目录 1. 题目描述 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 2. 思路分析 3. 代码实现 原题链接&#xff1a;https://pintia.cn/problem-sets/994805046380707840/exam/problems/1649748772841508875?type7&page1 1.…

蓝桥杯刷题--python-23

2.危险系数 - 蓝桥云课 (lanqiao.cn) n, m map(int, input().split()) map_ [[] for i in range(n 1)] used [0 for i in range(n 1)] used_ [0 for i in range(n 1)] cnt 0 res [] for _ in range(m):u, v map(int, input().split())map_[u].append(v)map_[v].appen…

数据结构与算法(三) 深度优先搜索

本篇文章首先来学习深度优先搜索算法&#xff08;Depth-First-Search&#xff0c;DFS&#xff09; 1、本质 深度优先搜索&#xff0c;又称为回溯法&#xff0c;其本质就是遍历整个搜索空间&#xff0c;找到给定问题的解 通俗来说就是暴力搜索&#xff0c;只是在这个过程中也有…

332. 重新安排行程(力扣LeetCode)

文章目录 332. 重新安排行程题目描述思路如何理解死循环该记录映射关系 dfs&#xff08;回溯法&#xff09;代码 332. 重新安排行程 题目描述 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排…

LeetCode 2368.受限条件下可到达节点的数目:搜索 + 哈希表

【LetMeFly】2368.受限条件下可到达节点的数目&#xff1a;搜索 哈希表 力扣题目链接&#xff1a;https://leetcode.cn/problems/reachable-nodes-with-restrictions/ 现有一棵由 n 个节点组成的无向树&#xff0c;节点编号从 0 到 n - 1 &#xff0c;共有 n - 1 条边。 给…

蓝桥杯刷题--python-27--全球变暖-dfs-bfs

1.全球变暖 - 蓝桥云课 (lanqiao.cn) import os import sys # 请在此输入您的代码 sys.setrecursionlimit(60000) n int(input()) dao [] for _ in range(n): tmp list(input()) dao.append(tmp) dict [(1, 0), (0, 1), (-1, 0), (0, -1)] used [[0 for _ in range(n)] fo…

【LeetCode: 572. 另一棵树的子树 + 二叉树 + dfs】

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

玩具蛇(蓝桥杯)

文章目录 玩具蛇题目描述答案&#xff1a;552dfs 玩具蛇 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小蓝有一条玩具蛇&#xff0c;一共有 16 节&#xff0c;上面标着数字 1 至 16。每一节都是一个正方形的形…

蓝桥杯day10刷题日记

P8604 [蓝桥杯 2013 国 C] 危险系数 思路&#xff1a;dfs&#xff0c;用深度优先搜索查找一次所有的线路&#xff0c;过程中记录每个点走过的次数&#xff0c;最后在与总路线数比较&#xff0c;相同即为每次必过的点&#xff0c;即关键点 #include <iostream> using na…

Codeforces Round 936 (Div. 2)(A,B,C,D)

比赛链接 div2一如既往的难欸。B是个前缀和加数学&#xff0c;一开始读假题了wa人麻了&#xff0c;发现读假题了人更麻了。C是个二分答案加dfs。D是位运算的题&#xff0c;一开始感觉很难&#xff0c;但是发现是思路假了&#xff0c;实际上并没有那么难&#xff08;还是难 &am…

算法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采用邻接矩阵表示图的深搜 任务描述 相关知识 编程要求…

Monoxer Programming Contest 2024(AtCoder Beginner Contest 345)(A,B,C,D,E,F)

比赛链接 这场。。。好像已经是一周之前的比赛来着&#xff0c;终于补完了。 C是个披着字符串外衣的数学容斥题。D是个超级超级暴力的爆搜&#xff0c;写起来超级麻烦&#xff0c;感觉。。。真是一次酣畅淋漓的赤石。E是个DP&#xff0c;朴素想法其实比较直观&#xff0c;不过…

2024最新华为OD机试试题库全 -【加密算法】- C卷

1. 🌈题目详情 1.1 ⚠️题目 有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。 规则如下: 明文为一段数字串由 0~9 组成 密码本为数字 0~9 组成的二维数组 需要按明文串的数字顺序在密码本里找到同样的数字串,密码本里的数字串是…

Leetcode每日一题[C++]-1261.在受污染的二叉树中查找元素

题目描述 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 给出一个满足下述规则的二叉树&#xff1a; root.val 0如果 treeNode.val x 且 treeNode.left ! null&#xff0c;那么 treeNode.left.val 2 * x 1如果 treeNode.val x 且 treeNode.right ! nu…

leetcode93.复原IP地址

在前文leetcode131分割回文串的基础上改进&#xff0c;因为前面遍历的是字符串及其子串问题&#xff0c;93题刚好基于这个问题之上进行改进&#xff0c;因此我也就是修修补补就完事儿了 toIP函数的作用是把“255”&#xff0c;“255” &#xff0c;“255” &#xff0c;“255”…

数据结构——图的概念,图的存储结构,图的遍历(dfs,bfs)

目录 1.图的定义和术语 2.案例引入 1.六度空间理论 3.图的类型定义 4.图的存储结构 1.邻接矩阵 1.无向图的邻接矩阵表示法 2.有向图的邻接矩阵表示法 3.网&#xff08;有权图&#xff09;的邻接矩阵表示法 代码示例&#xff1a; 2.采用邻接矩阵表示法创建无向图…

【LeetCode: 173. 二叉搜索树迭代器 + dfs + 二叉搜索树】

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

迷宫(蓝桥杯)——DFS和BFS

迷宫 题目描述 下图给出了一个迷宫的平面图&#xff0c;其中标记为 1 的为障碍&#xff0c;标记为 0 的为可以通行的地方。 010000 000100 001001 110000迷宫的入口为左上角&#xff0c;出口为右下角&#xff0c;在迷宫中&#xff0c;只能从一个位置走到这 个它的上、下、左…

方格分割(蓝桥杯)

文章目录 方格分割题目描述答案&#xff1a;509思路dfs 方格分割 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 6x6的方格&#xff0c;沿着格子的边线剪开成两部分。 要求这两部分的形状完全相同。 如下就是三…

DFS(排列数字、飞机降落、选数、自然数的拆分)

注&#xff1a;1.首先要知道退出条件 2.还原现场 典型&#xff1a;全排列 题目1&#xff1a; 代码&#xff1a; #include<bits/stdc.h> using namespace std; int a[1005],p[1005],v[1005]; int n; void dfs(int x) {//此次dfs结束条件,即搜到底 if(xn1){for(int i1;i&…

python跑批模拟、深度遍历、echarts时序图

记一次跑批优化 目录 工作背景;报表层表依赖关系梳理;调度系统跑批模拟器;理论上的最短耗时;echarts输出时序图; 1. 工作背景 因今年的项目需将原有报表工具上的一些报表迁移至新的报表平台&#xff0c;因此涉及到这些报表的取数脚本梳理。厂商在梳理过程中发现一张报表取数…

PTA-地下迷宫探索(DFS,水题)

5-33 地下迷宫探索 (30分) 400ms 64MB 地道战是在抗日战争时期&#xff0c;在华北平原上抗日军民利用地道打击日本侵略者的作战方式。地道网是房连房、街连街、村连村的地下工事&#xff0c;如下图所示。 我们在回顾前辈们艰苦卓绝的战争生活的同时&#xff0c;真心钦佩他…

2020中兴捧月傅里叶派记录

前段时间看到了同学转发的中兴通讯的比赛链接&#xff0c;之前也没有参加过算法类的比赛&#xff0c;这次打算报着试一试的态度参加下&#xff0c;增加下经验。在初步看了几个门派的题目简介后&#xff0c;发现只有傅里叶派比较适合自己&#xff0c;所以最终选择了傅里叶派。 文…

每日题解:LeetCode 1457. 二叉树中的伪回文路径

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

dfs 例题(寻找最大距离)

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

初级DFS(邻接表实现)

(参考书籍&#xff1a;挑战程序设计竞赛2&#xff1a;算法与数据结构) DFS(Depth First Search)深度优先搜索&#xff0c;以能走多远就走多远为原则&#xff0c;是图最自然也最基本的搜索算法。 需要用到的知识有&#xff1a;递归函数栈(递归)图的邻接矩阵&#xff1b; 至于为什…

LeetCode322. 零钱兑换//力扣322. 零钱兑换(贪心//动态规划//DFS//BFS)

LeetCode322. 零钱兑换//力扣322. 零钱兑换&#xff08;贪心//动态规划&#xff09; 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;题目跳转 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个…

PTA练习题:路径判断

给定一个有N个顶点和E条边的无向图&#xff0c;请判断给定的两个顶点之间是否有路径存在。 假设顶点从0到N−1编号。 输入格式: 输入第1行给出2个整数N(0<N≤10)和E&#xff0c;分别是图的顶点数和边数。 随后E行&#xff0c;每行给出一条边的两个端点。每行中的数字之间…

糖果

题目描述 分析 首先用样例来看一下题意 要选择行&#xff0c;使得每一列都至少有一个糖果&#xff0c;并且要求选的的行最少 这是一个经典的重复覆盖问题 这道题可以用Dancing Links算法来解决 以下给出dfs和A*算法的解法 题目中给出的数据范围是0~20&#xff0c;因此是可…

C/C++每日一练(20230501)

目录 1. 对链表进行插入排序 &#x1f31f;&#x1f31f; 2. 找出小于平均值的数 ※ 3. 二叉树的最大深度 &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 对链表进行…

有向图是否有环(邻接表) 拓扑排序 法

建图 与前面类似&#xff08;邻接表&#xff09; 图相关结构: #define MAXVEX 100 typedef char VertexType; typedef struct QNode {int front, rear;int data[MAXVEX];int size; }Queue;typedef struct ENode {int ivex;//顶点 索引struct ENode* next; }ENode;typedef struc…

leetcode[872]叶子相似的树 Python3实现 (dfs获得二叉树叶子的集合)

# 请考虑一棵二叉树上所有的叶子&#xff0c;这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。 # # # # 举个例子&#xff0c;如上图所示&#xff0c;给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树。 # # 如果有两棵二叉树的叶值序列是相同&#xff0c;那么我们就认…

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

题目链接 Leetcode.2316 统计无向图中无法互相到达点对数 rating : 1604 题目描述 给你一个整数 n n n &#xff0c;表示一张 无向图 中有 n n n 个节点&#xff0c;编号为 0 0 0 到 n − 1 n - 1 n−1 。同时给你一个二维整数数组 e d g e s edges edges &#xff0c;其…

判断二叉树是否对称(递归)

题目描述 给定一棵二叉树&#xff0c;判断其是否是自身的镜像&#xff08;即&#xff1a;是否对称&#xff09; 例如&#xff1a;下面这棵二叉树是对称的 1 / 2 2 / \ / 3 4 4 3 下面这棵二叉树不对称。 1 / 2 2 \ 3 3 备注&#xff1a; 希望你可以用递归和迭代两种方法解…

蓝桥杯题目练习(2n皇后问题)

基础练习VIP 2n皇后问题 题目描述 给定一个n*n的棋盘&#xff0c;棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后&#xff0c;使任意的两个黑皇后都不在同一行、同一列或同一条对角线上&#xff0c;任意的两个白皇后都不在同一行、同一列或同一条对角线…

构建二叉树(前序+中序,中序+后序)

leetcode 105. 从前序与中序遍历序列构造二叉树 题目链接 递归三部曲 1.返回值和参数&#xff1a;输出前序和中序的 vector< int > 和起止索引 int&#xff0c;输出树的根节点 2.单层递归逻辑&#xff1a;前序和中序只有一个元素&#xff0c;返回&#xff0c;否则在中…

CodeForces 906B Seating of Students【dfs】

题解给出了一个比较巧妙的构造的方法&#xff0c;但是这个题也可以直接dfs去做&#xff0c;只考虑不与前面的安排好的左边以及上面的数有相邻&#xff0c;那么就可以往下一直dfs&#xff0c;但是我们感觉这样的复杂度可能有一点问题&#xff0c;但是能够过&#xff0c;但是大数…

C++ 分考场 (第八届蓝桥杯大赛个人赛决赛(软件类)真题)

题目描述 n个人参加某项特殊考试。 为了公平&#xff0c;要求任何两个认识的人不能分在同一个考场。 求最少需要分几个考场才能满足条件。 输入格式&#xff1a; 第一行&#xff0c;一个整数n(1<n<100)&#xff0c;表示参加考试的人数。 第二行&#xff0c;一个整数m&…

计蒜客-1406-组合数(dfs+set用法)

首先&#xff0c;本题用dfs可以枚举所有结果情况&#xff0c;然后利用set的唯一性即可&#xff0c;注意定义set的时候&#xff0c;要使用从大到小的存储方式&#xff0c;否则默认是从小到大的排列方式&#xff0c;代码如下&#xff1a; //author:hairu,wu //from:ahut #includ…

信息学奥赛一本通 1318:【例5.3】自然数的拆分 搜索与回溯 (耙耙)

1318&#xff1a;【例5.3】自然数的拆分 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 9395 通过数: 5776 【题目描述】 任何一个大于1的自然数n&#xff0c;总可以拆分成若干个小于n的自然数之和。 当n7共14种拆分方法&#xff1a; 71111111 7111112 711113 711122 71114…

信息学奥赛一本通 1213:八皇后问题 1214:八皇后 搜索与回溯经典题详细题解(耙耙)

1213&#xff1a;八皇后问题 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 12808 通过数: 4495 【题目描述】 在国际象棋棋盘上放置八个皇后&#xff0c;要求每两个皇后之间不能直接吃掉对方。 【输入】 (无) 【输出】 按给定顺序和格式输出所有八皇后问题的解&#xff08…

信息学奥赛一本通 1219:马走日 (粑粑)

http://ybt.ssoier.cn:8088/problem_show.php?pid1219 #include<bits/stdc.h> using namespace std; int a[20][20]; int v[20][20]; int go[8][2] {{1,2},{2,1},{-1,2},{2,-1},{-1,-2},{-2,-1},{-2,1},{1,-2}}; int cns; int n,m,x,y,T; int dian1; // 开始就是1 vo…

信息学奥赛一本通 1220:单词接龙 洛谷 P1019 (耙耙 60分答案)

信息学奥赛一本通 1220&#xff1a;单词接龙 洛谷 P1019 不服老不行&#xff0c;这题我写得用心&#xff08;不过只有60分&#xff09;&#xff0c;被尚贤秒杀。 要100分AC答案 请看尚贤的答案 https://blog.csdn.net/weixin_42790071/article/details/105601560 这里我提供…

算法设计技巧: 深度优先搜索(DFS)

前文介绍了用广度优先搜索(Breadth-First-Search)的方法遍历一个图G(V,E)G(V,E)G(V,E). 本文介绍另一种常用的方法: 深度优先搜索(Depth-First-Search). DFS与BFS相比, 它的主要特点是遍历顶点的顺序满足一定的规律, 利用这些规律可以对顶点和边进行分类, 从而应用与其它问题的…

牛客 老子的全排列呢<每日一题分享>(dfs基础题目)

题目链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网牛客网是互联网求职神器&#xff0c;C、Java、前端、产品、运营技能学习/备考/求职题库&#xff0c;在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://…

剑指offer面试题6:从尾到头打印链表

/*题目&#xff1a;从尾到头打印链表*/ /*1.可以用栈来保存遍历到的每个节点&#xff0c;随后遍历一遍栈即可2.可以用递归的特性&#xff0c;要遍历一个节点的时候&#xff0c;就遍历这个节点的下一个节点*/#include <iostream> using namespace std; void PrintListReve…

剑指offer面试题7:重建二叉树

/*题目&#xff1a;输入一棵二叉树的前序遍历和中序遍历&#xff0c;构建这棵二叉树前序遍历&#xff1a;1&#xff0c;2&#xff0c;4&#xff0c;7&#xff0c;3&#xff0c;5&#xff0c;6&#xff0c;8中序遍历&#xff1a;4&#xff0c;7&#xff0c;2&#xff0c;1&#…

LeetCode 257. Binary Tree Paths

原题目&#xff1a;https://leetcode-cn.com/problems/binary-tree-paths/ 思路&#xff1a; 递归dfs&#xff0c;判断如果是叶节点&#xff0c;保存结果就好了。 代码&#xff1a; class Solution { public:vector<string> ans;void dfs(TreeNode* root,string s){if(…

LeetCode 257. Binary Tree Paths

原题目&#xff1a;https://leetcode-cn.com/problems/binary-tree-paths/ 思路&#xff1a; 递归dfs&#xff0c;判断如果是叶节点&#xff0c;保存结果就好了。 代码&#xff1a; class Solution { public:vector<string> ans;void dfs(TreeNode* root,string s){if(…

LeetCode 872. 叶子相似的树

原题目&#xff1a;https://leetcode-cn.com/problems/leaf-similar-trees/ 思路&#xff1a; 深度遍历&#xff0c;分别用字符串存储两个子树的叶子节点&#xff0c;相等就返回真 代码&#xff1a; class Solution { public:void dfs(TreeNode* root,string &s){if (roo…

LeetCode 491. 递增子序列

原题目&#xff1a;https://leetcode-cn.com/problems/increasing-subsequences/ 思路&#xff1a; 利用DFS&#xff0c;采用剪枝和set去重就可以了。 代码: class Solution {set<vector<int>> ans;void dfs(vector<int>& nums, vector<int>&…

LeetCode 968. 监控二叉树

原题目&#xff1a;https://leetcode-cn.com/problems/binary-tree-cameras/ 思路: 节点分为三种状态&#xff0c; 1&#xff1a;该节点安装了监视器 2&#xff1a;该节点可观&#xff0c;但没有安装监视器 3&#xff1a;该节点不可观 代码&#xff1a; class Solution {int …

java 满足条件的二叉树的路径

牛客网题目链接 1. 题目考点 二叉树路径的变形 题目链接 2. 考点解析 方法一&#xff1a; bfs 局部变量&#xff08;局部变量随着函数栈出入而销毁变化&#xff0c;即局部变量记录着每次函数操作的状态&#xff0c;不需要模拟局部变量出入栈过程&#xff0c;容易理解&…

leetcode 子集II

leetcode 题目链接 1. 题目考点 dfs 回溯 剪枝 2. 考点解析 数组重复必定先排序 不重复自身必有start 解集不重复必有used class Solution {List<List<Integer>> res new ArrayList<>();public List<List<Integer>> subsetsWithDup(int[]…

蓝桥杯 2017 决赛 发现环 (求环内的点)

历届试题 发现环 时间限制&#xff1a;1.0s 内存限制&#xff1a;256.0MB问题描述小明的实验室有N台电脑&#xff0c;编号1~N。原本这N台电脑之间有N-1条数据链接相连&#xff0c;恰好构成一个树形网络。在树形网络上&#xff0c;任意两台电脑之间有唯一的路径相连。不过在最…

【LeetCode】104. Maximum Depth of Binary Tree 二叉树的深度 DFS BFS 递归方式 迭代方式 JAVA

前言 这次的题目是二叉树的深度遍历&#xff0c;总体上来说吧&#xff0c;难度没有那么大&#xff0c;可是我就是再迭代的地方爬不出来了&#xff0c;有些题解也没有注释&#xff0c;讲解的也不是很清楚&#xff0c;所以就看起来有点麻烦 题目传送门&#xff1a; 点击此处 题…

牛客 北京信息科技大学第十一届程序设计竞赛 E kotori和素因子(dfs)

直接爆搜&#xff0c;枚举每个数取出的质因子即可。 PS&#xff1a;我是真的菜。 #include <bits/stdc.h> #define ll long long using namespace std; const int N 1e310; const int inf 0x3f3f3f3f; //vector <int> pd[20]; int pr[N],cnt,a[20]; bool vis[N…

n阶行列式 公式计算 (CSDN,我回来啦)

n阶行列式 公式计算 &#xff08;CSDN&#xff0c;我回来啦&#xff09; Hi 各位&#xff0c;好久不见 经过两年的间隔&#xff0c;终于又回到了CSDN的大家庭 从一名Oier 转(退)型(化)为一名程序员 离开了两年的代码&#xff0c;可以说水平已经大不如前&#xff08;QwQ&#x…

二叉树根节点到叶子节点和为指定值的路径(先序遍历)

题目描述 给定一个二叉树和一个值\ sum sum&#xff0c;请找出所有的根节点到叶子节点的节点值之和等于\ sum sum 的路径&#xff0c; 例如&#xff1a; 给出如下的二叉树&#xff0c; sum22&#xff0c; 返回 [ [5,4,11,2], [5,8,9] ] 思路 利用递归的先序遍历&#xff0c;每…

[牛客每日一题](DFS, 推理) NC13886 Shortest Path

NC13886 Shortest Path 示例1 输入 2 4 1 2 5 2 3 8 3 4 6 6 1 3 5 3 2 3 4 5 4 4 3 9 4 6 10 输出 11 31 说明 In the first example, you can divide them into (1,2), and (3,4), then the minimum sum of length is 5611 In the second example, you can divide the…

leetcode 全排列

题目链接 1. 题目考点 回溯算法N叉树的遍历bfsdfs 2. 考点解析 bfs 解法 模板 class Solution {List<List<Integer>> res new ArrayList<>();public List<List<Integer>> permute(int[] nums) {backTrace(nums);return res;}public void b…

LeetCode笔记:Biweekly Contest 43 比赛记录

LeetCode笔记&#xff1a;Biweekly Contest 43 0. 赛后总结1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路2. 代码实现3. 算法优化 0. 赛后总结 这一次的比赛整体上还算是顺利吧&#xff0c;虽…

胜利大逃亡 (深搜加剪枝)

Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0,0,0)的位置,离开城堡的门在(A-1,B-1,C-1)的位置,现在知道魔王将在T分钟后回到城堡,Ignatius每分钟能从一个…

[LeetCode] Target Sum 目标和

题目 You are given a list of non-negative integers, a1, a2, …, an, and a target, S. Now you have 2 symbols and -. For each integer, you should choose one from and - as its new symbol. Find out how many ways to assign symbols to make sum of integers eq…

[LeetCode] Shopping Offers 购物优惠

#题目 In LeetCode Store, there are some kinds of items to sell. Each item has a price. However, there are some special offers, and a special offer consists of one or more different kinds of items with a sale price. You are given the each item’s price, a…

2019年华南理工大学程序设计竞赛(春季赛) E-数独挑战(dfs)

&#xff08;简单dfs&#xff0c;标记一下行&#xff0c;列&#xff0c;以及小块中出现的数&#xff0c;然后填数即可&#xff0c;这个要回溯。&#xff09; #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include &l…

CCF回收站选址---map与结构体的结合使用+复习STL-map

CCF-201912-2今天就这个题目来复习一下STL-map别看图了&#xff0c;看看题目怎么说吧&#xff01;解题思路使用STL-map的好处使用STL-map的注意点下面是解题代码最后是STL-map的API了今天就这个题目来复习一下STL-map 别看图了&#xff0c;看看题目怎么说吧&#xff01; 解题思…

[BFS和DFS的故事]LC77---组合(深搜不剪枝,白首方悔迟)

LeetCode77我们先来观察一下题目普通的dfs剪枝的dfs真的很棒很基础的dfs了把&#xff0c;甚至可以直接几层for循环来搞定&#xff0c;但是有的时候循环层数太多也不好&#xff0c; 乱花渐欲迷人眼啊&#xff01;直接dfs呗&#xff01;&#xff01;&#xff01;dfs一定要注意优化…

HDU 1728逃离迷宫 (dfs+剪枝)

给定一个m n (m行, n列)的迷宫&#xff0c;迷宫中有两个位置&#xff0c;gloria想从迷宫的一个位置走到另外一个位置&#xff0c;当然迷宫中有些地方是空地&#xff0c;gloria可以穿越&#xff0c;有些地方是障碍&#xff0c;她必须绕行&#xff0c;从迷宫的一个位置&#xff…

【LeetCode刷题笔记】DFSBFS(一)

51. N 皇后 解题思路: DFS + 回溯 :由于 NxN 个格子放 N 个皇后, 同一行不能放置 2 个皇后,所以皇后必然放置在不同行 。 因此,可以从第 0 行开始,逐行地尝试,在每一个 i

BFS(广度优先搜索来啦)

一、BFS简介 二、BFS解决问题 三、代码实现 一、BFS简介 BFS即breadth-first search,又称为宽度优先搜索&#xff0c;是最简便的图的搜索算法之一&#xff0c;它是使用队列来实现的。 已知图G(V,E)和一个源顶点s&#xff0c;宽度优先搜索以一种系统的方式探寻G的边&#xff0…

LeetCode17.电话号码的字母组合

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

浅谈搜索剪枝

什么是剪枝 搜索一般分为DFS与BFS 常用的搜索通常是判重&#xff0c;因为BFS一般寻找的是最优路径&#xff0c;重复的话必定不会在之前的情况前产生最优解 而DFS也就是深搜&#xff0c;它的进程近似一棵树&#xff08;通常叫做DFS树&#xff09; 而剪枝就是一种生动的比喻&…

HDUoj 5723 Abandoned country(最小生成树+dfs

Abandoned countryDescription An abandoned country has n(n≤100000) villages which are numbered from 1 to n. Since abandoned for a long time, the roads need to be re-built. There are m(m≤1000000) roads to be re-built, the length of each road is wi(wi≤100…