无人机 公共场所 算法 密度

临界区算法:Peterson与面包店算法

目录临界区算法:Peterson与面包店算法Peterson算法面包店算法其他方法关中断硬件原子指令法 临界区算法:Peterson与面包店算法 读写信号量的代码一定是临界区,只能有一个线程进入执行。 临界区算法需要满足: 互斥进入:只有一个线程能进入临界区执行代码。 有空让进:没有线程在临界区执行 ......
算法 面包店 面包 Peterson

10.22算法

有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 示例 1: 输入:s = "()"输出:true示例 2: 输 ......
算法 10.22 10 22

提高组算法-图论学习笔记

## 2023-10-21 第一节 基本概念 一、什么是图:点用边连起来就叫做图,是一种数据结构。 二、图的一些定义和概念 1、有向图:图的边有方向,只能按箭头方向从一点到另一点。 2、无向图:图的边没有方向,可以双向。 3、结点的度:无向图中与结点相连的边的数目。 4、完全图:一个 n 阶的完全无 ......
算法 笔记

最小生成树 PRIM算法 - 附可运行代码

学习的时候,觉得这篇资料蛮好的: https://www.cnblogs.com/JayShao/p/12381830.html 然后这篇文章比较新颖,自觉比较适合写代码的理解: https://www.geeksforgeeks.org/kruskals-minimum-spanning-tree ......
算法 代码 PRIM

算法刷题记录-二分查找

算法刷题记录-二分查找 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出 ......
算法

js逆向·找到登录时目标网站的加密算法的几种方式

js逆向·找到登录时目标网站的加密算法的几种方式 为什么要去找到目标网站的加密密码方法: 为了要把我们的payload正确的带入目标网站的服务器进行逻辑验证,那么就需要知道对方使用的什么加密或者编码规则来处理数据的,比如说我们输入的密码被base64编码了,然后发送给后端,后端会进行解码过后再带入逻 ......
算法 目标 方式 网站 183

算法篇---java算法应用

算法篇 java算法应用 算法应用之百钱买白鸡 (程序员副业--编程学习--业务交流--公众号: 匠心程序定制) 案列说明:主要内容是:公鸡5元一只,母鸡3元一只,小鸡1元三只,问100元怎样可以买100鸡? 思想:想要实现此算法,只要明白各种条件的关系即可,而且知道公鸡最多买20只,母鸡最多买33 ......
算法 java

Floyd算法

Floyd算法 正如我们所知道的,Floyd算法用于求最短路径。Floyd算法可以说是Warshall算法的扩展,三个for循环就可以解决问题,所以它的时间复杂度为O(n^3)。 Floyd算法的基本思想如下:从任意节点A到任意节点B的最短路径不外乎2种可能,1是直接从A到B,2是从A经过若干个节点 ......
算法 Floyd

1.NCC算法实现及其优化[基础实现篇]

NCC算法实现及其优化 本文将集中探讨一种实现相对简单,效果较好的模板匹配算法(NCC) \[R(x,y)= \frac{ \sum_{x',y'} (T'(x',y') \cdot I'(x+x',y+y')) }{ \sqrt{\sum_{x',y'}T'(x',y')^2 \cdot \sum ......
算法 基础 NCC

Matching Network算法概述

什么是Matching Network 1. 论文地址:Matching Networks for One Shot Learning 2. 简介:基于Metric Learning部分思想,使用外部记忆来增强网络,提高网络的学习能力。 3. 创新点 借鉴了注意力和外部记忆方面的经验来搭建网络 基于 ......
算法 Matching Network

棋盘覆盖——分治算法的典例

问题描述 在一个\({2^k} \times {2^k}(K \geqslant 0)\) 个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为特殊方格。 棋盘覆盖问题要求用图所示的4种不同形状的\(L\)型骨牌覆盖给定棋盘上除特殊方格以外的所有方格,且任何2个\(L\)型骨牌不得重叠覆盖。 ......
棋盘 算法

贪心算法实现

贪心算法 顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等 ......
算法

算法训练day39LeetCode738.968.

算法训练day39LeetCode738.968. 738.单调递增的数字 题目 738. 单调递增的数字 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) class Solution { public: int monotoneIncreasingDigi ......
算法 LeetCode day 738 968

部分算法总结

小部分算法总结 部分题目请见: https://github.com/ZhangFirst1/Algorithm-problem-code 异或运算 a^= b相当于a=a^b,将十进制数字转化为二进制进行运算,相同为0,相异为1,0和任何数异或运算都是原来的那个数。 可以用来判断数组中哪个数字只出 ......
算法 部分

10.21算法

颠倒二进制位颠倒给定的 32 位无符号整数的二进制位。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制 ......
算法 10.21 10 21

常见密码学算法简介

1. 常见对称加解密算法 对称加密算法是一种加密算法,使用相同的密钥来加密和解密数据。这些算法在保护数据安全性方面起着重要作用。下面是一些常用的对称加密算法的介绍: 1.1 Advanced Encryption Standard (AES) 简介: AES 是一种高级加密标准,用于保护敏感数据。它 ......
密码学 算法 常见 密码 简介

协同过滤推荐算法总结

推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。 1. 推荐算法概述 推荐算法是非常古老的,在机器学习还没有兴起的时候 ......
算法

文心一言 VS 讯飞星火 VS chatgpt (117)-- 算法导论10.3 2题

二、用go语言,对一组同构对象用单数组表示法实现,写出过程ALLOCATE-OBJECT和FREE-OBJECT。 文心一言: 在Go语言中,我们通常使用指针和结构体来表示和操作复杂的数据结构。对于一组同构对象,我们可以使用一个数组来存储它们的指针,每个指针指向一个对象。下面是使用Go语言实现ALL ......
文心 导论 算法 chatgpt VS

算法训练day38 LeetCode435.763.56.

算法训练day38 LeetCode435.763.56. 435.无重叠区间 题目 435. 无重叠区间 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) 首先按左边界排列范围 再将长的重叠区间去除 并记录去除个数 class Solution { publ ......
算法 LeetCode day 435 763

遗传算法 (解决TSP旅行商问题) 附Python代码

1.什么是TSP旅行商问题? 1.1 问题本质 旅行商问题是一个经典的组合优化问题。 问题实质是一个带权完全无向图,找一个权值最小的Hamilton回路。( 即点到点的最优路径问题 ) 早期的研究者使用精确算法求解该问题,常用的方法包括:分枝定界法、线性规划法、动态规划法等。但是,随着问题规模的增大 ......
算法 代码 Python 问题 TSP

快速排序算法模板+内置函数

思想: 确定分界点 调整区间 ,小于分界点的在左边区间,大于分界点在右边区间。 递归处理左右两边。 void quick_sort(int q[], int l, int r) { if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r > ......
算法 函数 模板

进程调度算法--先来先服务算法-短进程优先算法

常用的调度算法 先来先服务调度算法(FCFS):先到达先执行,非抢占式的,同时就绪时仲裁规则是随机的。 短进程优先调度算法(SPF):从就绪队列中找运行时间最短的进程,非抢占式的,仲裁规则是按照时间先后顺序或随机方式。 先来先服务调度算法(FCFS) #include<stdio.h>#includ ......
算法 进程

算法学习笔记(31): 李超线段树

李超线段树是一种按照值域维护一次函数最值的数据结构,其核心在于一次函数和值域的双单调性。 如果预先对于值域离散也可以维护其最值。 也就是说只要满足时一次函数,以及下标的单调性都可以利用李超线段树维护。 李超线段树就是利用线段树来维护一次函数的最值,每一个结点对应了一个区间 \([l, r]\)。 我 ......
线段 算法 笔记 31

查找算法

顺序查找(线性查找) 思想:根据列表下标的顺序,一步步查找列表中的元素是否有与需查找元素相对应,有则返回下标。 代码实现 # 顺序查找 def linear_search(li,e): for ind,val in enumerate(li): if val == e: return ind els ......
算法

Winform中加密时提示此实现不是Windows平台FIPS验证的加密算法的一部分

场景 Java与Winform进行AES加解密数据传输的工具类与对应关系和示例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/129357081 winform中使用如上进行加密时提示: 实现不是Windows平台FIPS验证的 ......
算法 Winform Windows 平台 FIPS

三种基本排序算法:桶排序,冒泡排序,快速排序

第一节 桶排序 (最快最简单的排序) 1、概括 就实现申请大小为的数组为例,int a[11]。首先将所有变量初始化为0,表示还没有出现过任何数字。 下面开始处理得到的数字: 若存入的第一个数字是5,就将相对应的a[5]的值在原来的基础上增加1.即将a[5]的值从0改为1,表示5出现过一次。 若第二 ......
算法

扩展欧几里得算法(exgcd)推导

给定 \(a\),\(b\),求解 \(ax+by=gcd(a,b)\) 的整数解。 考虑递归求解: 边界: 当 \(b=0\) 时,\(gcd(a,b)=a\),即 \(ax+by=a\),容易找到一组特殊解 \(x=1,y=0\)。 考虑一般情况: \(ax+by=gcd(a,b)\) \(ax ......
算法 exgcd

排序算法总结

low B三人组 冒泡排序 思想:列表相邻元素两两对比,每趟结束都会产生一个最大/最小元素 代码实现 def bubble_sort(li): for i in range(0,len(li)-1): # 趟数 exchange = 0 # 设置一个标识符,当有一趟无变化时,列表已有序,停止排序 f ......
算法

10.20算法

位1的个数编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还 ......
算法 10.20 10 20

理解算法(1): 最大值,最小值,和堆。

最近总想,算法好像没有数学那样直观,例如方程可以解决一大类问题,我们遇到许多数学问题,只要将其转成方程问题,剩下的就是解方程。算法好像不是那么直观,顺着这个思路开始重新看算法问题。今天有一个收获,也可能其他人早就知道。 int max=INT_MIN; for(size_t i=0;i<v.size ......
最大值 算法