数列 前缀 区间 算法

fibnacci数列递归实现(课下作业,选做)

1. 网上查询资料说明什么是fibnacci数列? 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这 ......
数列 fibnacci

异常检测算法-完全卷积数据描述子FCDD

文献来源: EXPLAINABLE DEEP ONE-CLASS CLASSIFICATION 最近在做一些异物检测之类的算法任务,原本想使用目标识别算法,但是问题是正样本太多,而负样本没几个。所以有必要使用异常检测算法,日后不妨再结合目标识别任务去做。 在正式开始前,需要先简单介绍一个广义损失函数 ......
卷积 算法 数据 FCDD

重新学习算法_Day2

今天复习了 栈 先入后出 和 队列 先进先出 ......
算法 Day2 Day

fibnacci数列递归实现

一、网上查询资料说明什么是fibnacci数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”。斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,3 ......
数列 fibnacci

分治算法(C语言)

一、棋盘覆盖问题 1、问题 2、分析 (1)当k>0时,将2k×2k棋盘分割为4个(2k-1)×(2k-1)子棋盘,如图(a)所示。每一次分解,都将原本大小的棋盘,划分为四份,即行号和列号各自缩减一半。 (2)特殊方格必位于4个较小子棋盘之一中,其余3个子棋盘中无特殊方格。 (3)为将无特殊方格子棋 ......
算法 语言

前缀和

AcWing笔记——前缀和 前言 数组的前缀和,代表着一个数组前N个数的和。主要用于优化这样一种场景: 当题目要求进行求出一个数组从下标 \(i\) 到下标 \(j\) 之间的元素的和,且会多次进行这种操作时,我们可以使用前缀和的方法来优化求和的过程。 时间复杂度对比: 若使用for循环遍历整个数组 ......
前缀

排序算法

快速排序 ......
算法

【进阶算法】差分

差分是一种类似于前缀和的编码技巧,可以快速实现对数组某个区间的所有元素增加或减少一个值。 一、差分数组 示例:数组 arr = [8,1,3,-2,5,0,-3,6],输入 m 个操作,每个操作输入 (L , R, val),表示对数组的 [L, R] 区间中每个元素增加 val,要求输出最后的 a ......
算法

文心一言 VS 讯飞星火 VS chatgpt (128)-- 算法导论11.1 3题

三、用go语言,试说明如何实现一个直接寻址表,表中各元素的关键字不必都不相同,且各元素可以有卫星数据。所有三种字典操作(INSERT、DELETE和SEARCH)的运行时间应为O(1)(不要忘记 DELETE 要处理的是被删除对象的指针变量,而不是关键字。) 文心一言,代码正常运行: 在 Go 语言 ......
文心 导论 算法 chatgpt VS

cf1834E. MEX of LCM(维护右端点计算区间lcm)

cf1834E 首先可以估计一下答案的量级,因为小于答案的质数都要必须要出现,5e6以内的质数大概就是3e5,所以答案不超过5e6。 我们维护以i右端点的lcm的值,这些值的数量不会太多,因为每次增长都至少×2,所以是log级别。 每次新加的时候记得更新和去重即可。 #include<cstdio> ......
端点 区间 1834 MEX LCM

数据结构与算法—绪论

前言 数据结构与算法是程序员内功体现的重要标准之一,且数据结构也应用在各个方面,业界更有程序=数据结构+算法这个等式存在。各个中间件开发者,架构师他们都在努力的优化中间件、项目结构以及算法提高运行效率和降低内存占用,在这里数据结构起到相当重要的作用。此外数据结构也蕴含一些面向对象的思想,故学好掌握数 ......
数据结构 绪论 算法 结构 数据

算法进阶

贪心算法 定义 是指在对问题求解时,总是做出当前看来是最好的选择,着眼于眼前(做出目前对自己好的:贪心),不从整体最优上考虑,做出某种意义上的局部最优解。但有时贪心算法的解就是最优解。要会判断一个问题是否用贪心算法来计算。 例题 找零问题:假设商店老板需要找零n元钱,钱币的面额有:100元、50元、 ......
算法

排序算法

1.选择排序 2.冒泡排序 第一、二次迭代: 第三、四次迭代: 第五、六、七次迭代: 3.插入排序 4.快速排序 5.排序结果 8,12,15,23,24,33,55,77 ......
算法

排序算法

一、选择排序 12,23,8,15,33,24,77,55 8,23,12,15,33,24,77,55 8,12,23,15,33,24,77,55 8,12,15,23,33,24,77,55 8,12,15,23,24,33,77,55 8,12,15,23,24,33,55,77 二、冒泡排 ......
算法

fibnacci数列递归实现

1. 网上查询资料说明什么是fibnacci数列? 参考资料 斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89... 这个数列从第3项开始,每一项都等于前两项之和。 斐波那契数列的定义者,是意大利数学家莱昂纳多·斐波那契(Leonardo Fibonacci),生 ......
数列 fibnacci

区间DP入门

石子合并 别人讲过太多了,蒟蒻就不说了。 Polygon 这题跟石子合并类似,只是多输出了个先清除哪条边可以使得值最大。 因为我们不确定先删那一条,我们就再复制一遍添到输入的结尾,就变成了 $2 \times N - 1$。 我们思考最大值是由哪些贡献的。 最大值与最大值运算。 最小值乘上最小值(因 ......
区间

用欧几里得算法求两个数的最大公约数

一.什么是欧几里得算法 1.欧几里得算法就是辗转相除法,用于求两个数的最大公约数。如果用gcd(a,b)表示a和b的最大公约数,gcd(a,b)=gcd(b,a%b),当a%b==0时,b就是最大公约数。 2.算法说明:首先按照大小输入两个整数a、b,再用一个中间量用来存放二者的余数。计算后将b的值 ......
最大公约数 公约数 算法 两个

fibnacci数列递归实现

1.什么是fibnacci数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……不难发现,前两项的值各为1,从第 ......
数列 fibnacci

fibnacci数列

1.fibnacci数列 由百度百科,斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递 ......
数列 fibnacci

分离轴算法判断两凸多边形是否相交

分离轴算法 1) 英文名Separating Axis Theorem,简称SAT 2) 就是利用投影法将多边形所有点都投影到分离轴上,如果在分离轴上的投影不重叠,则两凸多边形不相交。 那将哪个轴作为分离轴呢? 多边形的每条边的法线都分别作为分离轴来计算一次,在所有分离轴上都测试通过,则两个多边形相 ......
凸多边形 算法

c++实现排序算法

排序算法 选择排序 #include <iostream> #include <cmath> using namespace std; int main() { int n,i,j,a[2000]; bool t; cin >>n; for (i=1;i<=n;i++) cin >>a[i]; fo ......
算法

Dijkstra, RIP, OSPF:RIP算法

这部分参考王道 bilibili 视频:https://www.bilibili.com/video/BV19E411D78Q?p=56&vd_source=63764dd9776224d187bddddb05bf9f3f ......
算法 RIP Dijkstra OSPF

m基于5G通信的超密集网络多连接负载均衡和资源分配算法matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 5G模型的基本结构如下所示: 超密集网络是5G通信系统中的重要技术,是现在通信界的研究热点。系统中的每个小小区都是正交频分多址系统,共有TV个小小区,每个小小区使用个OFDMA子载波,信道增益为G。根据其结构图可知,当 ......
资源分配 算法 matlab 资源 网络

对于扩展欧几里得算法的小总结

对于不定方程$ax+by=c$有正数解的充分必要条件是$c|gcd(a,b)$,证明请看裴蜀定理 那么显然的,我们只要能解出方程$ax+by=gcd(a,b)\(然后把解\)\times \frac{gcd(a,b)}$即可 如何解这个新的方程呢?我们知道$gcd(a,b)$,并且它等于$gcd(b ......
算法

fibnacci数列递归实现

网上查询资料说明什么是fibnacci数列? 斐波那契数列是一个无限的整数序列,其定义如下:序列中的前两个数字是0和1,从第三个数字开始,每个数字都是前两个数字的和。也就是说,斐波那契数列的前几个数字是0, 1, 1, 2, 3, 5, 8, 13, 21,以此类推。 给出fibnacci数列的递归 ......
数列 fibnacci

【进阶算法】一维数组的前缀和

前缀和是指数组某个索引之前的所有元素的和,是一种重要的预处理手段,使用前缀和可以快速求出数组某一个区间的和。 示例:数组 arr = [8,1,3,-2,5,0,-3,6],输入 m 个询问,每个询问输入一对l, r。对于每个询问,要求输出原数组中从第l个数到第r个数的和。 比如,第 1 次询问,输 ......
前缀 数组 算法

求两个数的最大公约数的欧几里得算法

上网查找什么是求两个数的最大公约数的欧几里得算法(辗转相除法),提交算法说明和网上链接。 算法说明: 1.两个正整数中,用大数除以小数求余 2.再用其中的大数除以其中的小数求余,重复步骤直至余数为0 3.当余数为 0 时,取当前算式除数为最大公约数 链接: 欧几里得算法(辗转相除法)求最大公约数 欧 ......
最大公约数 公约数 算法 两个

扩展欧几里得算法模板

扩展欧几里得算法 问题:给定两个非零整数$a$和$b$,求一组整数解$(x, y)$ ,使得$ax+by=gcd(a,b)$ 成立($gcd(a,b)$ 是a、b的最大公约数)。 设 $$ \begin{aligned} ax_1+by_1&=gcd(a, b) \ bx_2+(a%b)y_2&=g ......
算法 模板

快速排序算法原理与python实现

快速排序是一种不稳定的排序算法,时间复杂度O(nlogn),最差情况下时间复杂度为O(n^2)。 原理是: 选定待排序数组的任意元素为基准轴:pivot,通常选择数组第一个元素,保存下pivot数值。 遍历数组中的其他元素,通过交换元素位置,数组被划分为两个子序列:左子序列元素值全小于等于pivot ......
算法 原理 python

字符串匹配算法:KMP

Knuth–Morris–Pratt(KMP)是由三位数学家克努斯、莫里斯、普拉特同时发现,所有人们用三个人的名字来称呼这种算法,KMP是一种改进的字符串匹配算法,它的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。它的时间复杂度是 O(m+n) 字符匹配:给你两个字 ......
字符串 算法 字符 KMP