算法programing dynamic动态

排序算法

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

【进阶算法】差分

差分是一种类似于前缀和的编码技巧,可以快速实现对数组某个区间的所有元素增加或减少一个值。 一、差分数组 示例:数组 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

数据结构与算法—绪论

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

算法进阶

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

排序算法

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

动态规划树

关键在于定义状态,状态如何转移,以及记录状态 1. 打家劫舍 状态定义为当前i节点位于状态j时(偷与不偷),子树的最大价值 2. 收集所有金币可获得的最大积分 状态定义为当前i节点位于第j层时,子树的最大积分值 3. 在树上执行操作以后得到的最大分数 状态定义为当前i节点位于状态j时(健康与否),子 ......
动态

排序算法

一、选择排序 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 二、冒泡排 ......
算法

Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) 赛后总结

Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) 赛后总结 可悲的是:我没来得及写题解。 Task A Same 秒切。 直接输入排一遍序再遍历即可。 #include <bi ......

HHKB Programming Contest 2023(AtCoder Beginner Contest 327) 赛后总结

HHKB Programming Contest 2023(AtCoder Beginner Contest 327) 赛后总结 又没来得及写题解。。。 赛时 A - ab 查找 ab 和 ba,只要其中一者存在就行。 #include <bits/stdc++.h> using namespace ......
Contest Programming Beginner AtCoder HHKB

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

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

动态规划

前面的鸽。 优化类dp 单调队列优化 dp 通常用于解决形如 \[dp[i] = dp[j] + a (j\in\{i-R,i-L\}) \]的 dp 方程优化,计算可以达到 \(\Theta(n).\) 复杂度并不算很高。 以下介绍默认队列中单调不升 先说一下单调队列的思想: 维护一个内容完全满足 ......
动态

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

分离轴算法 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 ......
算法

HHKB Programming Contest 2023(AtCoder Beginner Contest 327)

HHKB Programming Contest 2023(AtCoder Beginner Contest 327) A - ab int main() { IOS; string s; cin >> n >> s; bool f = false; for (int i = 1; i < n; + ......
Contest Programming Beginner AtCoder HHKB

HHKB Programming Contest 2023(AtCoder Beginner Contest 327)

HHKB Programming Contest 2023(AtCoder Beginner Contest 327) A. ab 解题思路: 模拟即可。 代码: #include <bits/stdc++.h> using namespace std; using ll = long long; ......
Contest Programming Beginner AtCoder HHKB

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 资源 网络

"Grain for Green" program: turn sand into green

"Grain for Green" program: turn sand into green One specific measure that has been effective in tackling desertification is the "Grain for Green" prog ......
quot program Grain Green green

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

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

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

前缀和是指数组某个索引之前的所有元素的和,是一种重要的预处理手段,使用前缀和可以快速求出数组某一个区间的和。 示例:数组 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

音乐推荐与管理系统Python+Django网页界面+协同过滤推荐算法

一、介绍 音乐推荐与管理系统。本系统采用Python作为主要开发语言,前端使用HTML、CSS、BootStrap等技术搭建界面平台,后端使用Django框架处理请求,并基于Ajax等技术实现前端与后端的数据通信。在音乐个性推荐功能模块中采用通过Python编写协同过滤推荐算法模块,实现对当前登录用 ......

四个代码融合 依次:小青蛙上台阶 ;求阶乘;求最大公因数;地盘划分(均为递归算法)

小壁灯上楼梯 #include <iostream> using namespace std; int a(int c){ if(c<=2){ return c; }else{ return a(c-1)+(c-2); } } int main(int argc, char** argv) { in ......
公因数 阶乘 算法 青蛙 地盘

AI问答:关于字符串匹配算法的区别及应用场景,哈希/kmp/字典树/AC自动机

1. 哈希(Hashing):哈希是一种将字符串转换为唯一标识符的技术,通常用于字符串的快速查找和比较。实现难度相对较低,但需要处理哈希冲突的问题。哈希在处理大量数据的查找和比较问题时非常实用。2. KMP(Knuth-Morris-Pratt):KMP 是一种用于字符串匹配的算法,特别适用于查找子 ......
自动机 字符串 算法 字典 字符

贪心算法(C语言)

一、会议安排问题 1.1 问题 (1)对于每个会议i,起始时间bi和结束时间ei,且bi<ei (2)[bi,ei]与[bj,ej]不相交,则会议i和会议j相容,bi≥ej或bj≥ei (3)目标:在有限的时间内,尽可能多地安排会议 1.2 分析 选择最早结束的会议 1.3 实现 (1)初始化:按结 ......
算法 语言

算法集合知识点

### 时间复杂度 算法**执行时间**与**数据规模**之间的增长关系。 越来越复杂:常对幂指阶 ![1698891265438](https://img2023.cnblogs.com/blog/762616/202311/762616-20231103200615432-813969627.p ......
知识点 算法 知识