DFS
  • 2024-07-04C#实现DFS和BFS
    以图示为例:Noderoot=newNode("A",newNode("B",newNode("C"),newNode("D")),newNode("E",newNode("F"),newNode("
  • 2024-07-04二分图匹配——从入门到入土
    基础知识形式化定义:二分图:\(G=(L,R,E)\),满足\(\forall(u,v)\inE\)都有\(u\inL,v\inR\)或\(u\inR,v\inL\)。可知“图中没有长度为奇数的环”是这个图是二分图的充分必要条件。图的匹配是一个\(E_m\subseteqE\)满足\(\nexistsi\inV(\text{当}G
  • 2024-07-03洛谷2404 自然数的拆分问题 【搜索】
    自然数的拆分问题题目描述任何一个大于111的自然数nnn,总可以拆
  • 2024-07-02从 dfs 序求 lca 到虚树到树分块 学习笔记
    前言想象我在口胡三样我都不熟悉的东西并尝试称之为“学习笔记”。其实不过是我自己对于它的一点小理解,甚至可能是错误的!无所谓,口胡!口胡!口胡!口胡!口胡!一些备注\(dfn_u\)为点\(u\)的dfn序,\(nfd_i\)表示第\(i\)个dfs到的点是啥(前者的反数组)dfs序求lca这个很简单,想
  • 2024-07-022024.7.2 集训
    ###数位DP1.记录:1.是否顶上限;2.是否当前填了的都是前导$0$;3.当前位是否是从左往右数第一位。(2和3是两种做法,2是在Query里只调用一次DFS,3是在Query里枚举第一个非$0$位调用多次DFS)。2.记忆化的数组可以不用记所有内容。3.注意DFS返回时要返回res,而不是记
  • 2024-07-01[刷题笔记] Luogu P1612 [yLOI2018] 树上的链
    ProblemDescriptionDescription给定一棵有\(n\)个节点的树。每个节点有一个点权和一个参数。节点\(i\)的权值为\(w_i\),参数为\(c_i\)。\(1\)是这棵树的根。现在,对每个节点\(u\)(\(1\lequ\leqn\)),请在树上你找到最长的一条链\(v_1,v_2,\dotsv_m\),满足如下条件:
  • 2024-06-3079. 单词搜索
    给定一个mxn二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例1
  • 2024-06-30力扣每日一题 特别的排列 DFS 记忆化搜索 位运算 状态压缩DP
    Problem:2741.特别的排列
  • 2024-06-24Lights
    题目信息题目链接LuoguCF1907G思路分析如果我们把每一个关系都转化为一条无向边,则\(n\)个点会有\(n\)条边,并且每一个点的度数至少是\(1\),所以是一颗基环树森林。我们分别看看每一个数。一棵树一定会有一个环,首先环外树的决策方案是一定的,一定是将每一个权值为\(1\)的
  • 2024-06-24Java实现管线拓扑关系连通性分析
    管线拓扑关系的连通性分析通常涉及图论(GraphTheory)中的概念,特别是无向图(UndirectedGraph)的遍历算法,如深度优先搜索(DFS,Depth-FirstSearch)或广度优先搜索(BFS,Breadth-FirstSearch)。在管线拓扑中,管线可以被视为图的边(Edge),而管线的连接点可以被视为图的节点(Vertex)。连通性分析
  • 2024-06-24ABC 359
    submissionsA,B直接模拟即可。C纵向的距离很好算。有两种情况:横向距离更小。这个直接输出纵向距离。更大。减去纵向的步数。横向距离怎么算?我们考虑把\(s,e\)都移动到方块靠左,然后就是横坐标之和。D简单的dp。设\(dp_{i,msk}\)为到了第\(i\)为,目前前面的状
  • 2024-06-23洛谷 U285997 松鼠没有家
    https://www.luogu.com.cn/problem/U285997#submit题目描述星斗大森林里有一棵参天巨树,树上有 nn 个结点,我们给它们编号 11~nn。松鼠每天从树的这头窜到那头,因为它不认真写信息学作业只想划树叶子(树上没办法划水啊),被妈妈给批评了,于是回不了家。现在松鼠想要知道,它从
  • 2024-06-23P1605 迷宫
    #include<bits/stdc++.h>usingnamespacestd;intq[101][101];intsum=0;inti,j,n,m,t,sx,sy,x,y,ex,ey;voiddfs(inta,intb){  if(a==ex&&b==ey)  {    sum++;    return;  }  else  {      q[a][b]=0; 
  • 2024-06-22树的序列化笔记
    \(dfs\)序以\(DFS\)(先根遍历)⾸次访问顺序将节点重新排列。特征:每个顶点在序列中出现恰好⼀次(废话)⽗节点排在⼦节点前⾯(废话)每棵⼦树都占据序列的⼀个区间欧拉序记录\(DFS\)递归/回溯时依次经过的所有点。特征:每个点出现次数=度数(根多1次)相邻点深度差1\(LCA(x,y)=\)
  • 2024-06-22C/C++ stack实现深度优先搜索DFS算法详解及源码
    深度优先搜索(DepthFirstSearch,DFS)是一种图遍历算法,它从一个节点开始,通过访问其相邻节点的方式,依次深入到图中的更深层次。Stack(栈)是一种先进后出(LastInFirstOut,LIFO)的数据结构,它非常适合实现DFS算法。首先,我们来解释一下Stack实现DFS算法的原理。DFS算法的核心思想是
  • 2024-06-21树形DP——AcWing 285. 没有上司的舞会
    目录树形DP定义运用情况注意事项解题思路AcWing285.没有上司的舞会 题目描述运行代码代码思路改进思路改进代码(AI)其它代码代码思路树形DP定义树形DP是在树上进行的动态规划。它利用树的结构特点,通过递归或迭代的方式,在每个节点上进行状态计算和转移,以求
  • 2024-06-19hadoop一些相关知识
    大数据概念什么是大数据?大数据是指高速(velocity)涌现的大量(volume)多样化(variety)具有一定价值(value)并且真实(veracity)的数据,其特性可简单概括为5V。原理流程数据采集大数据首先需要将来自不同来源和应用的数据汇集在一起。需要导入和处理数据、执行格式化操作,以符合业
  • 2024-06-17多叉树的DFS深度优先遍历,回溯法的基础算法之一
    一、前言多叉树一般用于解决回溯问题。想必大家都学过二叉树,以及二叉树的深度优先遍历和广度优先遍历,我们思考:能不能将二叉树的DFS转化为多叉树的DFS?二、多叉树的结构多叉树的本质,就是一棵普通的树,比如下图:如果忽略将来的变化,那么,这棵树可以认为是一个未满的4叉树。
  • 2024-06-17【递归、搜索与回溯】综合练习二
    综合练习二1.组合2.目标和3.组合总和4.字母大小写全排列点赞
  • 2024-06-16洛谷 P1122 最大子树和
    题目链接:最大子树和思路    由于可以无限剪枝,所以假设以节点1为根,并删去所有美丽质数小于0的子树,又考虑到可能会出现根节点为负数,导致可能会只留下子树而把节点1为根节点的其他部分扔掉,所以需要dp数组记录,dp[i]为以节点i为根节点能得到的最大的美丽指数,贪心将节点i的子
  • 2024-06-146.14BFS,DFS
    7-1列出联通集给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出
  • 2024-06-14【Py/Java/C++三种语言OD独家2024D卷真题】20天拿下华为OD笔试之【DFS】2024D-计算三叉搜索树的高度【欧弟算法】全网注释最详细分类最全的华为OD真题题解
    有LeetCode算法/华为OD考试扣扣交流群可加948025485可上全网独家的欧弟OJ系统练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【CSDN】否则不通过)文章目录题目描述与示例题目描述:输入描述输出描述示例一输入输出说明示例二输入输出说明示例三
  • 2024-06-13算法 - 搜索算法
    本文主要介绍算法中搜索算法的思想,主要包含BFS,DFS。搜索相关题目BFSDFS#搜索相关题目深度优先搜索和广度优先搜索广泛运用于树和图中,但是它们的应用远远不止如此。#BFS广度优先搜索的搜索过程有点像一层一层地进行遍历,每层遍历都以上一层遍历的结果作为起点,遍历一个
  • 2024-06-13回溯算法DFS
    Backtracking(回溯)属于DFS,本文主要介绍算法中Backtracking算法的思想。回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探
  • 2024-06-13LeetCode132双周赛T3,搜索和DP
    求出最长好子序列Idfs(i,j)表示以nums[i]结尾的,至多有j对相邻元素不同的最长序列的长度转移:枚举p<i,如果nums[p]!=nums[i],就从dfs(p,j-1)+1转移过来如果nums[p]==nums[i],就从dfs(p;j)+1转移过来classSolution{public:intmaximumLength(vector<int