算法9.25 25

10.25算法

矩阵置零给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2: 输入:matrix = ......
算法 10.25 10 25

使用BBP算法计算π,Python实现

BBP算法(Bailey-Borwein-Plouffe算法)是一种用于计算π的算法,它可以直接计算出π的十六进制表示的任意一位。BBP算法由Simon Plouffe于1995年提出,基于David Bailey和Peter Borwein在1995年的工作。 BBP算法的基本思想是使用级数展开, ......
算法 Python BBP

KMP算法【字符串搜索算法】

KMP算法 1. 算法核心 利用匹配失败后的信息 尽量减少模式串(B)与主串(A)的匹配次数 以达到快速匹配的目的 通过一个 next 数组,保存模式串(B)中 前后最长公共子序列的长度,每次回溯时,通过 next 数组找到,前面匹配过的位置,省去了大量的计算时间 2. 如何减少匹配次数 2.1. ......
算法 字符串 字符 KMP

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

五、用go语言,设 L 是一个长度为 n 的双向链表,存储于长度为 m 的数组key、prev 和next 中。假设这些数组由维护双链自由表 F的两个过程 ALLOCATE-OBJECT 和 FREE-OBJECT 进行管理。又假设 m 个元素中,恰有 n 个元素在链表 L 上,m-n 个在自由表上 ......
文心 导论 算法 chatgpt VS

【学习笔记】Miller-Rabin 算法

费马小定理 当 \(p\) 为质数时,若 \(\gcd(a,p)=1\),则 \(a^{p-1}\equiv 1\pmod p\)。 但逆命题是错的,例如 \(p=561\) 这类卡迈克尔数,满足任何 \(\gcd(a,p)=1\) 都有 \(a^{p-1}\equiv 1\pmod p\)。所以用 ......
Miller-Rabin 算法 笔记 Miller Rabin

区块链与安全问题-精讲对等网络、共识算法、密码学算法

本博文转载自 天山老妖 的博客:http://blog.51cto.com/9291927 一、区块链密码安全技术简介 区块链和分布式账本中大量使用了密码学和安全技术的最新成果,特别是身份认证和隐私保护相关技术。区块链使用了包括Hash 算法与摘要、加密算法、数字签名和证书、PKI体系、Merkle ......
算法 密码学 区块 共识 密码

安防监控视频汇聚平台EasyCVR增加AI算法列表接口的实现方法

安防监控视频汇聚平台EasyCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能分析等功能。平台既具备传统安防监控的能力,也支持提供AI算力算法接入的能力。 今天我们来介绍下在EasyCVR ......
算法 接口 EasyCVR 方法 平台

浅谈一些并行排序算法

对于普通的基于比较排序我们拥有一个复杂度下界 \(O(n\log n)\),然而如果我们允许并行计算的话,将得到一些复杂度更优秀的计算方法。 听到并行这个词许多人就会认为你有几个线程复杂度就除以几,所以线程堆得越多越好。但许多的算法问题都必须要满足你必须要算完 A 才能去计算 B,比如对于普通的前缀 ......
算法

贪心算法

顾名思义,贪心,即永远选择当下情况下最佳的结果,也就是所谓的局部最优解。该算法寄希望于局部最优解的堆积可以形成总体上的最优算法。 注意:可以使用反证法来判断贪心算法是否可以计算出最优路径。 注:大部分有限选择的情况都可以通过有限状态机解决。 ......
算法

10.24算法

三数之和给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答 ......
算法 10.24 10 24

【基础算法】- 贪心

贪心 定义 贪心算法适用于最优子结构问题。意思是问题在分解成子问题来解决时,子问题的最优解能递推到最终问题的最优解。常见的符合这种性质的问题如: 「我们将 XXX 按照某某顺序排序,然后按某种顺序(例如从小到大)选择。」 「我们每次都取 XXX 中最大/小的东西,并更新 XXX。」 但比如在大部分只 ......
算法 基础

子序列相关算法

1、最长公共子序列 最长公共子序列(Longest Common Subsequence,LCS)是动态规划中的经典问题,顾名思义,即求两个序列最长的公共子序列(可以不连续)。 1 #include <iostream> 2 #include<string> 3 using namespace st ......
序列 算法

md5算法实现

前言 md5算法是我们经常会用到的一个hash函数, 虽然已经被证明是不安全的了, 但其应用依然十分广泛. 哈希函数具有如下特点: 将任意长度的字符串映射为固定长度 源数据微小的改动会导致结果差异巨大 不可逆 暴力破解困难 你有没有好奇过, 哈希函数是如何做到这些的呢? 本文就拿md5举例, 看一看 ......
算法 md5 md

diff算法

什么是Diff算法?Diff算法是Vue.js的一个核心特性,它是一种用于比较虚拟DOM树的差异,并最小化DOM操作的数量。当Vue.js检测到数据更改时,它会生成一个新的虚拟DOM树,并将其与旧虚拟DOM树进行比较。Diff算法会查找差异,并仅对需要更改的部分进行DOM操作。这种算法可以帮助我们在 ......
算法 diff

算法笔记(6)数列分块

原发表于我的博客 前言 分块不能说是一种数据结构,它是一种思想,无论是数列分块,块状链表,还是数论分块,莫队算法,都应用了分块的思想。 本文主要介绍狭义上的分块,即数列分块。 数列分块的引入 数列分块可以说是暴力,一种优美的暴力,它的基本思路是,把数列分成若干块(一般取\(\sqrt n\)),分块 ......
数列 算法 笔记

算法笔记(5)贪心算法

原发表于我的博客 贪心算法 贪心与其说是一种算法,不如说一种思想。 贪心思想,顾名思义,就是总是做出当前最好的选择,这种方式可能在全局上不是最好的结果,但是在一些题目中就可以直接用。 最简单的例子就是“货比三家”,在生活中,我们买东西时都会挑性价比最优的,这就是一种贪心。 贪心算法在OI中经常与其他 ......
算法 笔记

算法笔记(4)莫队算法入门

原发表于我的博客 前言 本来想学完回滚莫队、树上莫队、二离莫队之后一起写一个博客,但是一直学不会/kk,只好把已会的普通莫队和带修莫队写了(以后会补上的) 普通莫队 莫队——优雅的暴力 莫队算法的引入 例题: 给定一个数列和若干询问,每次询问询问一段区间内不同种类数字的个数。 暴力做法 每次询问暴力 ......
算法 笔记

算法笔记(3)模拟退火

原发表于个人博客= 模拟退火的引入 假如我们有一个函数,要求它的极大值,怎么求呢? 如果这个函数满足单调性,可以用二分的方法。 如果这是一个单谷(或单峰)函数,可以用三分法。 那要是多峰函数怎么半呢? 这时就可以用随机化算法。 一种朴素的方法是:每次在当前找到的最优方案\(x\)附近寻找一个新方案。 ......
算法 笔记

算法笔记(2)FHQtreap

原发布于我的个人博客 前言 FHQtreap绝对是平衡树里最好写,最实用的,他几乎能做所有splay或其它平衡树能做的事,还能可持久化! 这篇文章将会介绍FHQtreap的基本操作和维护区间的操作,并附上例题。 基本操作 FHQtreap的基本操作只有两个,分裂和合并。 有些读者可能会问,分裂和合并 ......
算法 FHQtreap 笔记

K-medoids聚类算法

发展: 们每次选簇的平均值作为新的中心,迭代直到簇中对象分布不再变化。因此一个具有很大极端值的对象会扭曲数据分布,造成算法对极端值敏感 在聚类分析中,异常值通常会引起问题,因为它们可能会被分配到一个独立的聚类,从而干扰正常的聚类结果。这可能导致聚类算法产生不合理或不稳定的结果 定义: K-Medoi ......
算法 K-medoids medoids

算法笔记(1)线段树

原发表于个人博客。 前言 线段树,是数据结构皇冠上的明珠(我编的)。 它用途广泛,被一代代的oier应用,改进,优化。 本文介绍了线段树的基础知识和各种拓展(包括权值线段树,可持久化线段树),各种优化方式(包括zkw线段树,动态开点,离散化),希望能帮到更多的oier。 在学习线段树前,默认你应该学 ......
线段 算法 笔记

算法-共识算法

一、Paxos 基础的Paxos算法包括如下三种:Basic Paxos、Multi Paxos、Fast Paxos Paxos将系统中的角色分为提议者 (Proposer),决策者 (Acceptor),和最终决策学习者 (Learner): 【Proposer】:提出提案(Proposal)。 ......
算法 共识

manacher算法

manacher算法 斯♥哈♥学长的博客https://www.cnblogs.com/luckyblock/p/17044694.html#5140558 为什么老师叫他马拉车算法/yiw 简介 我们都知道,求最长回文子串可以枚举每一个开始的点,然后直接一个一个比较就完事,但这样的复杂度是接近 \ ......
算法 manacher

C++U4-贪心算法1

本节学习目标:贪心算法的概念以及对应练习题 贪心算法概念 贪心算法的特点 利用贪心算法的两个性质 练习1:最优装载问题 【本题算法分析】 优先把重量小的物品放进去,在容量固定的情况下,装的物品量最多。因此采用重量最轻者先装的贪心选择策略,可从局部最优达到全局最优。 参考代码 #include <io ......
算法 U4

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

四、用go语言,我们往往希望双向链表的所有元素在存储器中保持紧凑,例如,在多数组表示中占用前m 个下标位置。(在页式虚拟存储的计算环境下,即为这种情况。)假设除指向链表本身的指针外没有其他指针指向该链表的元素,试说明如何实现过程ALLOCATE-OBIECT和 FREE-OBJECT,使得该表示保持 ......
文心 导论 算法 chatgpt VS

磁盘调度算法

1、FCFS调度--先来先服务 例如,I/O请求块的柱面的顺序如下:98,183,37,122,14,124,65,67 他请求的话,是这样一个图示: 就直接根据请求序列进行调度即可,但是吧,它看起来摆动幅度就很大,这样导致这种形式的调度的性能比较差; 2、SSTF调度--最短寻道时间优先 还是按照 ......
磁盘 算法

图书推荐管理系统Python+Django网页界面+协同过滤推荐算法

一、介绍 图书管理与推荐系统。使用Python作为主要开发语言。前端采用HTML、CSS、BootStrap等技术搭建界面结构,后端采用Django作为逻辑处理,通过Ajax等技术实现数据交互通信。在图书推荐方面使用经典的协同过滤算法作为推荐算法模块。主要功能有: 角色分为普通用户和管理员 普通用户 ......
算法 管理系统 界面 网页 Python

10.23算法

缺失数字给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。 示例 1: 输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 num ......
算法 10.23 10 23

数据结构与算法 | 二叉树(Binary Tree)

"二叉树"(Binary Tree)这个名称的由来是因为二叉树的每个节点最多有两个子节点,一个左子节点和一个右子节点。其中,“二叉”指的是两个,因此“二叉树”表示每个节点最多可以分支成两个子节点。 ......
数据结构 算法 结构 数据 Binary

【算法】万圣节前夕的迷宫挑战(二)

在十月底一个阳光明媚的周末,小悦开始她的徒步旅行,一头高高的马尾轻轻摇曳,充满了青春的活力。她的笑容如同春日的阳光,温暖而明亮,总是让人心情愉悦。那天的徒步旅行,她选择了一条山区路线,期望能欣赏到秋天那五彩斑斓的树叶和感受大自然的魅力。 旅途中,小悦遇到了一些意料之外的障碍。她发现自己的体力迅速流失 ......
迷宫 算法