草庐IT

DFS与BFS算法

全部标签

二分图(概念、相关算法和题目应用)(全面整理)

TP二分图的概念:二分图常用算法:染色法(判断一个图是否为二分图):匈牙利算法(求出二分图的最大匹配数):相应题目应用:二分图染色应用:Acwing:关押罪犯二分图最大匹配应用:Acwing:棋盘覆盖洛谷:矩阵游戏二分图最大匹配的一些推论:二分图最小点覆盖应用:Acwing:机械任务Acwing:泥地二分图最大独立集应用:Acwing:骑士放置二分图最大路径点覆盖与最大路径重复点覆盖应用:Acwing:捉迷藏二分图的概念:二分图通常针对无向图问题(有些题目虽然是有向图,但一样有二分图性质)在一张图中,如果能够把全部的点分到两个集合中,保证两个集合内部没有任何边,图中的边只存在于两个集合之间,这

椭圆曲线聚合签名原理 & PBFT 算法改进

目录1.引言2.区块链介绍2.1区块链的起源​2.2区块链分类和共识算法的选择3.PBFT算法介绍3.1拜占庭将军问题3.1.2口头消息3.1.3签名消息3.2PBFT算法流程3.3PBFT算法改进动机4.PBFT算法改进4.1改进思路4.2椭圆曲线4.3数字签名4.4聚合签名4.5改进 PBFT5.总结与思考参考文献1.引言2.区块链介绍2.1区块链的起源2.2区块链分类和共识算法的选择3.PBFT算法介绍3.1拜占庭将军问题3.1.2口头消息3.1.3签名消息3.2PBFT算法流程3.3PBFT算法改进动机4.PBFT算法改进4.1改进思路4.2椭圆曲线 4.3数字签名4.4聚合签名4.5

高频算法题冒险之旅精讲(一)之LeetCode小牛试刀五道题

📢导读:本篇博文是LeetCode算法题讲解篇,对高频算法题进行详细而深入的讲解,解题语言选择的是Java。更多算法专栏如下:⛳️排序算法⛳️分治法⛳️LeetCode高频算法题讲解⛳️数据结构目录⛳️1.只出现一次的数字(第136题)1.1题目:1.2解题思路及完整Java代码1.2.1用map1.2.2用set1.2.3用位运算⛳️2.多数元素(第169题)2.1题目:2.2解题思路及完整Java代码2.2.1使用map去存储元素出现的次数2.2.2排序后直接输出2.2.3摩尔投票法⛳️3.搜索二维矩阵II(第240题)3.1题目:3.2解题思路及完整Java代码3.2.1暴力解法3.2.

优化改进YOLOv5算法之添加SE、CBAM、CA模块(超详细)

目录1SENet1.1SENet原理1.2 SENet代码(Pytorch)1.3 YOLOv5中加入SE模块 1.3.1 common.py配置1.3.2 yolo.py配置1.3.3创建添加RepVGG模块的YOLOv5的yaml配置文件2CBAM2.1CBAM原理2.2 CBAM代码(Pytorch)2.3 YOLOv5中加入CBAM模块 2.3.1 common.py配置2.3.2 yolo.py配置2.3.3创建添加CBAM模块的YOLOv5的yaml配置文件 3CA3.1CA原理3.2 CA代码(Pytorch)3.3 YOLOv5中加入CA模块 3.3.1 common.py配置

非梯度类启发式搜索算法:Nelder Mead

算法介绍Hello,今天给大家介绍一种不基于梯度的优化算法NelderMead。NelderMead 算法通常是用来求解非线性(nonlinear)、导函数未知情况下目标函数的最大值或者最小值。学过梯度下降的同学应该知道,梯度下降类算法的每一步都需要计算当前位置的梯度,从而更新当前解使得最终逐渐逼近最优解。但在某一些情况下,目标函数的梯度难以求得或是函数值离散的情况下,这时候便无法直接使用梯度类算法来求解了。NelderMead算法的思想十分简单,它本质上是受空间中Simplex各个顶点之间关系所启发而迭代优化的一类算法。在经过多次迭代后,算法逐渐收敛到最优解。NelderMead是说,我既然

php - 发音算法

我正在努力寻找/创建一种可以确定随机5个字母组合的发音能力的算法。到目前为止我发现的最接近的东西来自这个3年前的StackOverflow线程:Measurethepronounceabilityofaword?=0&&!in_array($word[$pos-1],$vowels)){$score+=1;$pos+=1;continue;}}else{//Notavowel,checkifnextoneis,orifisendofwordif(($pos+1)...但它远非完美,给出了一些相当奇怪的误报:使用这个函数,以下所有的rate都可以发音,(7/10以上)中泰达LLFDAMM

贪心算法(四)

4.更多练习题4)力扣https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/这道题运用贪心算法,就是每天只考虑与前一天的差价,只要差价大于零,从局部最优来考虑,就应该卖出前一天的股票。这样可以得到全局最优解。classSolution{public:intmaxProfit(vector&prices){intn=prices.size();intres=0;for(inti=1;i5)力扣https://leetcode.cn/problems/queue-reconstruction-by-height/这道题的第二

( “树” 之 DFS) 101. 对称二叉树 ——【Leetcode每日一题】

101.对称二叉树给你一个二叉树的根节点root,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围[1,1000]内-100进阶:你可以运用递归和迭代两种方法解决这个问题吗?思路:递归递归结束条件:都为空指针则返回true;只有一个为空或者对应节点值不相等,则返回false。递归过程:判断A的右子树与B的左子树是否对称;判断A的左子树与B的右子树是否对称;只有都相等时,才返回true。代码:(Java、C++)Java/***Definitionfor

【ROS-Navigation】—— Astar路径规划算法解析

文章目录前言1.导航的相关启动和配置文件1.1demo01_gazebo.launch1.2nav06_path.launch1.3nav04_amcl.launch1.4nav05_path.launch1.5move_base_params.yaml1.6global_planner_params.yaml2.Astar路径规划算法解析2.1astar.h2.2astar.cpp参考文献前言    最近在学习ROS的navigation部分,写些东西作为笔记,方便理解与日后查看。本文从Astar算法入手,对navigation源码进行解析。PS:rosnavigation源码版本https

pagerank算法详解

目录一、pagerank简介两个重要假设二、pagerank算法公式定义计算演示矩阵化计算三、存在的两个问题问题1.DeadEnds问题2.SpiderTraps一、pagerank简介PageRank算法的基本想法是在有向图上定义一个随机游走模型,即一阶马尔可夫链,描述随机游走者沿着有向图随机访问各个结点的行为。在一定条件下,极限情况访问每个结点的概率收敛到平稳分布,这时各个结点的平稳概率值就是其PageRank值,表示结点的重要度。PageRank是递归定义的,PageRank的计算可以通过迭代算法进行。入链数:指向该节点的链接数出链数:由该节点指出的链接数以上图为例:A的入链数为2,出链