无人机 公共场所 算法 密度

算法随笔——分块

介绍 分块的基本思想是通过适当的划分和预处理,用空间换时间,更加接近朴素算法,是一种暴力数据结构。 例题1 例如最经典的区间修改区间查询,若用树状数组来做就显得过于麻烦了。而用线段树做这道题,虽然通用,但马亮比较大,非常不友好。于是一种 \(O(nlogn)\) 的解法出现了——分块。 思路 将整个 ......
算法 随笔

【Python】【OpenCV】凸轮廓和Douglas-Peucker算法

针对遇到的各种复杂形状的主体,大多情况下,我们可以求得一个近似的多边形来简化视觉图像处理,因为多边形是由直线组成的,这样就可以准确的划分区域来便捷后续的操作。 cv2.arcLength() Method: 参数: curve:要计算周长的轮廓,可以是一个矩形、圆形、多边形等封闭曲线。 closed ......

代码随想录算法训练营第七天| 344.反转字符串 541. 反转字符串II

LeetCode 344.反转字符串 题目链接: LeetCode344 思路: 定义left、right指针,将两指针对应的值反转即可 class Solution { public: void reverseString(vector<char>& s) { int n = s.size(); ......
字符串 字符 随想录 训练营 随想

双边滤波算法

H:\CodeSet\vcg完善1\pclPrj\bilateralFunc.h //双边滤波算法 float sigma_s_ = 0.5; float sigma_r_ = 0.5; pcl::PointCloud<pcl::PointXYZ>::Ptr plcCloud1; PointClou ......
双边 算法

【数据结构和算法】搜索算法

① 搜索最小值 python的min函数返回列表中的最小项 1 def indexOfMin(lyst): 2 minIndex = 0 3 currentIndex = 1 4 while currentIndex < len(lyst): 5 if lyst[currentIndex] < ly ......
算法 数据结构 结构 数据

【数据结构和算法】排序算法

使用swap函数来交换列表中的两项的位置 1 def swap(lyst,i,j): 2 '''交换列表中两项的位置''' 3 temp = lyst[i] 4 lyst[i] = lyst[j] 5 lyst[j] = temp ① 选择排序 处于列表第一项,先找到最小项的位置,如果该位置不是列表 ......
算法 数据结构 结构 数据

Mybatisplus自定义主键生成策略,使用雪花算法生成16位的唯一ID

楼主在使用mybatisplus开发前后端分离项目时发现一个很奇怪的现象:所有更新/删除操作都不起作用,开启mybatis日志后发现前端传入的id值与实际的数据库的值不相同,最后三位总是000。 经过一系列查资料才知道,mybatisplus的默认ID生成器使用雪花算法,生成20位左右的ID,但js ......
算法 Mybatisplus 雪花 策略

路径规划算法 - 求解最短路径 - Dijkstra算法

Dijkstra算法的思想是广度优先搜索(BFS) 贪心策略。 是从一个顶点到其余各顶点的最短路径算法,节点边是不各自不同的权重,但都必须是正数 如果是负数,则需要 Bellman-Ford 算法 如果想求任意两点之间的距离,就需要用 Floyd 算法 求节点0 -> 4 的最短路径 每次从未标记的 ......
算法 路径 Dijkstra

拒绝算法推荐,使用rss订阅消息与新闻!

算法推荐的弊端就不说了 借用 RSSHub 镜像网站 如果你实在不会,又或者觉得麻烦,那你还可以搭其他网友的“便车”。 我收集了 9 个 公开的 RSShub 镜像网站,它们用的都是用自己的服务器,所以在流量方面也不会有问题。 服务器1 :https://rsshub.rssforever.com  ......
算法 消息 新闻 rss

java与算法Day1 Scanner的应用(一)

java中使用输入需要用到java.util.Scanner。Scanner有next,nextInt,nextString,hasNext,hasNextLine等方法。 使用 XXX variable = Scanner.NextXXX就可以获取一个输入值。next系列的方法,他们的作用都是从键 ......
算法 Scanner java Day1 Day

SpringBoot项目中集成自定义公共Maven依赖如何集成与调试

场景 Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/101391279 Maven项目在pom文件中引入lib下的第三方j ......
SpringBoot 项目 Maven

刷题 字典树 LCP(最长公共前缀)

2023.12.5 cf 1902E 字典树的功能 根据字典树的概念,我们可以发现:字典树的本质是把很多字符串拆成单个字符的形式,以树的方式存储起来。所以我们说字典树维护的是”字典“。那么根据这个最基本的性质,我们可以由此延伸出字典树的很多妙用。简单总结起来大体如下: 1、维护字符串集合(即字典)。 ......
前缀 字典 LCP

单调栈与单调队列算法总结

单调栈 知识概览 单调栈最常见的应用是找到每一个数离它最近的且比它小的数。 单调栈考虑的方式和双指针类似,都是先想一下暴力做法是什么,然后再挖掘一些性质如单调性,最终可以把目光集中在比较少的状态中,从而达到降低时间复杂度的作用,都是算法优化的一种手段。 对于的情况,更有可能是答案,因此将删掉。最终, ......
队列 算法

代码随想录算法训练营第六天| 454.四数相加 15.三数之和 18.四数之和

LeetCode 454.四数相加 题目链接: LeetCode454 思路: 将两个数组中的数存放到一个map中,用另外两个数组的值在map中去减 class Solution { public: int fourSumCount(vector<int>& A, vector<int>& B, v ......
之和 随想录 训练营 随想 算法

扩展欧几里得算法

扩展欧几里得算法 裴蜀定理(Bézout's lemma) 定义 设 \(a,b\) 是不全为零的整数,对任意整数 \(x,y\),满足 \(\gcd(a,b)\mid ax+by\),且存在整数 \(x,y\), 使得 \(ax+by=\gcd(a,b)\). 证明 对于第一点 由于 \(\gcd ......
算法

文心一言 VS 讯飞星火 VS chatgpt (150)-- 算法导论12.2 6题

六、用go语言,考虑一棵二叉搜索树 T ,其关键字互不相同。证明:如果 T 中一个结点 x 的右子树为空,且 x 有一个后继 y ,那么 y 一定是 x 的最底层祖先,并且其左孩子也是 x 的祖先。(注意到,每个结点都是它自己的祖先。) 文心一言,代码正常运行: 灵捷3.5 。 为了证明上述命题,我 ......
文心 导论 算法 chatgpt VS

算法入门经典 刘汝佳 4.2 地址与指针

4.2 地址和指针 4.1节介绍的数学函数的特点是:做计算,然后返回一个值。有时候,我们要做的事情 并不是“计算”——如交换两个变量;而有时候,我们需要返回两个甚至更多的值——如解一个二元一次方程组。 4.2.1 变量交换 程序4-4 用函数交换变量(错误) #include<stdio.h> vo ......
指针 算法 地址 经典 4.2

不平衡少样本数据集的算法方案

在图像实际的细分场景中,经常会遇到数据集不均衡以及数据集数量有限等问题,如何有效利用数据集,提升自己的算法效果,这里大刀基于自己的实际项目经验,分享在实际图像分类领域遇到问题,以及解决的方案,供参考。 前言 大家好,我是张大刀。之前有个智慧工地的项目,其中一个需求是监控工地上的起重机的使用合规性情况 ......
样本 算法 方案 数据

java基于权重的抽奖算法

最近需要写一个抽奖的功能(附带权重),根据这位博主https://blog.51cto.com/u_16213431/7116970,的算法理解了一下,记录下来 import java.util.ArrayList;import java.util.List;import java.util.Ran ......
权重 算法 java

网络流最大流EK算法

```cpp /* 总的思路就是找还有哪些路可以走,只要找到新的路,流量就增加了 需要注意的是,这里面反向边的含义,可以大致理解为,找路的过程是随机的,可能找到的不是最优的, 那么,加一条反向边,后面就有可能找到这个反向边来走,这样就相当于弥补了以前的错误,相当于走了正确的道路 */ #includ ......
算法 网络

代码随想训练营第五十三天(Python)| 1143.最长公共子序列 、1035.不相交的线 、53. 最大子序和

1143.最长公共子序列 class Solution: def longestCommonSubsequence(self, text1: str, text2: str) -> int: m, n = len(text1), len(text2) # dp 数组代表 text1 以 i-1 结尾 ......
训练营 序列 随想 代码 Python

基于PLE结合卡尔曼滤波的RSSI定位算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.算法理论概述 基于PLE(Power-Law Equalizer)结合卡尔曼滤波的RSSI(Received Signal Strength Indicator)定位算法是一种利用无线信号强度进行位置估计的方法。该方法通过PL ......
算法 matlab RSSI PLE

算法~布隆过滤器

布隆过滤器(Bloom Filter)是一种高效的概率数据结构,用于判断一个元素是否存在于集合中。它基于位数组和多个哈希函数,并具有以下特点: Bloom Filter 是一个基于概率的数据结构:它只能告诉我们一个元素绝对不在集合内或可能在集合内 快速查询:布隆过滤器具有快速查询的特性。它使用多个哈 ......
过滤器 算法

AES java加密与MySql加密算法一致

1.背景 数据库加密与java程序加密算法保持一致,统一采用AES加密算法。 2. java 代码如下 1 package com.pacific.permission.test; 2 3 import javax.crypto.Cipher; 4 import javax.crypto.spec. ......
算法 MySql java AES

面试leetcode算法经典 150 题

数组、字符串 1.合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由 ......
算法 leetcode 经典 150

算法笔记(2)

树 树(Tree)是一种非线性的数据结构,它由一系列节点(Nodes)组成,每个节点可以包含一个值或者一个操作。树的节点之间存在父子关系,每个节点都有一个父节点和若干个子节点。根节点是整个树的起点,它没有父节点,其他节点都是由根节点衍生出来的。 树有多种类型,以下是其中几种常见的类型: 二叉树(Bi ......
算法 笔记

代码随想录算法训练营第五天| 242.有效的字母异位词 349. 两个数组的交集 1. 两数之和

LeetCode 242.有效的字母异位词 题目链接: LeetCode242 思路: 使用C++自带的库函数,经过排序后进行比较(使用库函数) class Solution { public: bool isAnagram(string s, string t) { if(s.length() ! ......
随想录 之和 训练营 数组 交集

文心一言 VS 讯飞星火 VS chatgpt (149)-- 算法导论12.2 4题

五、用go语言,证明:如果一棵二叉搜索树中的一个结点有两个孩子,那么它的后继没有左孩子,它的前驱没有右孩子。 灵捷3.5 。 文心一言: 为了证明这个性质,我们首先需要明确二叉搜索树(BST)的定义和特性。一个二叉搜索树是一个有序的树,其中每个节点的左子树上的所有值都小于节点的值,而右子树上的所有值 ......
文心 导论 算法 chatgpt VS

基于Levenberg-Marquardt算法的声源定位matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 Levenberg-Marquardt 算法是求非线性最小二乘问题的一种优化算法。它在不需要二阶导数信息的情况下,仍然可以取得相当不错的优化效果。它对于具有强非线性性和高维度的问题,尤为适用。 Levenberg ......

树的层序遍历算法框架

1 核心代码框架 点击查看代码 void levelOrder(TreeNode* root) { if (!root) return; queue<TreeNode*> que; que.push(root); while(!que.empty()) { int size = que.size() ......
算法 框架