麻雀 算法 森林ssa-rfr

扩展欧几里得算法

算法 阅读此篇前可先阅读欧几里得算法。 给定 \(a,b,s\),求 \(ax+by=s\) 的任意一组解。 证明: 由裴蜀定理得:二元一次方程 \(ax+by=c\) 的有解条件是 \(\gcd(a,b) \mid c\)。 由欧几里得算法得知 \(\gcd(a,b)=\gcd(b,a\mod b ......
算法

算法性能分析

1.究竟什么是时间复杂度 时间复杂度是一个函数,它定性描述该算法的运行时间。假设算法的问题规模为n,那么操作单元数量便用函数f(n)来表示,随着数据规模n的增大,算法执行时间的增长率和f(n)的增长率相同,这称作为算法的渐近时间复杂度,简称时间复杂度,记为 O(f(n)) 2.什么是大O 算法导论给 ......
性能分析 算法 性能

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

五、用go语言,栈插入和删除元素只能在同一端进行,队列的插入操作和删除操作分别在两端进行,与它们不同的,有一种双端队列(deque),其插入和删除操作都可以在两端进行。写出4个时间均为 O(1)的过程,分别实现在双端队列的两端插入和删除元素的操作,该队列是用一个数组实现的。 文心一言: 在 Go 语 ......
文心 导论 算法 chatgpt VS

算法异或的运用

题目描述 在一条无限长的路上,有一排无限长的路灯,编号为1,2,3,4,…。 每一盏灯只有两种可能的状态,开或者关。如果按一下某一盏灯的开关,那么这盏灯的状态将发生改变。如果原来是开,将变成关。如果原来是关,将变成开。 在刚开始的时候,所有的灯都是关的。小明每次可以进行如下的操作: 指定两个数,a, ......
算法

算法之动态规划(DP)求解完全背包问题(状态转移式方程推导)

完全背包是01背包的进阶版。在这里补充一下代码随想录的完全背包状态转移式的推导。有兴趣的可以先看一看原版。 状态转移方程 状态:dp[i][j] 选择前i个物品,容量为j的背包时 所选物品价值总和最大。 状态转移: dp[i][j]=max(dp[i-1][j-k* v[i]]+k* w[i]) ( ......
方程 算法 背包 状态 动态

基础算法--字符串

\(KMP\) \(KMP\) 算法(Knuth-Morris-Pratt 算法)是一个著名的字符串匹配算法,效率很高,但是确实有点复杂。 基本概念 \(1\)、s[ ]是模式串,即比较长的字符串。 \(2\)、p[ ]是模板串,即比较短的字符串。(这样可能不严谨。。。) \(3\)、“非平凡前缀” ......
字符串 算法 字符 基础

C++算法之旅、08 基础篇 | 质数、约数

算法学习笔记,记录容易忘记的知识点和难题。试除法、分解质因数、筛质数、约数个数、约数之和、最大公约数 ......
约数 质数 算法 之旅 基础

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

四、用go语言,重写 ENQUEUE 和 DEQUEUE 的代码,使之能处理队列的下溢和上溢。 文心一言: 在 Go 语言中,我们可以使用切片来实现队列。下面是如何实现 ENQUEUE 和 DEQUEUE 操作,同时处理队列的下溢和上溢的情况: package main import "fmt" t ......
文心 导论 算法 chatgpt VS

【ACM算法】整数分块

思考如何计算以下算式: \[\sum_{i=1}^{n} \lfloor \frac{n}{i} \rfloor \qquad (n \le 10^6) \]所有人都会觉得这个非常简单,一个for循环可以直接解决,时间复杂度 \(O(n)\),但是如果将 \(n\) 的范围改大一点点,改成 \(n\ ......
整数 算法 ACM

10.5算法

对称二叉树给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3]输出:true示例 2: 输入:root = [1,2,2,null,3,null,3]输出:false 提示: 树中节点数目在范围 [1, 1000] 内-100 <= ......
算法 10.5 10

【知识点】如何找到正确的算法?

算法思路 一、多组查询 · 考虑如何利用已知信息避免重复查询。 · 考虑各种预处理,例如前缀和。 二、规模减小 · 考虑树、链等 三、以小见大 · 考虑特殊情况,并考虑以此为基础继续转移 四、模拟优化 · 考虑高维复杂度算法,并考虑尽可能优化 五、题面信息 · 数据规模 \[n≥10^8:O(\lo ......
知识点 算法 知识

【知识点】如何找到正确的算法?

# 算法思路 **一、多组查询** · 考虑如何利用已知信息避免重复查询。 · 考虑各种预处理,例如前缀和。 **二、规模减小** · 考虑树、链等 **三、以小见大** · 考虑特殊情况,并考虑以此为基础继续转移 **四、模拟优化** · 考虑高维复杂度算法,并考虑尽可能优化 **五、题面信息** ......
知识点 算法 知识

2023“钉耙编程”中国大学生算法设计超级联赛(3)

题解: https://files.cnblogs.com/files/clrs97/2023HDU%E7%AC%AC%E4%B8%89%E5%9C%BA%E9%A2%98%E8%A7%A3.pdf Code: A. Magma Cave #include<iostream> #include<al ......
钉耙 算法 联赛 大学生 大学

【基础算法】排序算法 —— 插入排序

一、算法原理 插入排序将数组分为已排序区间和未排序区间,初始已排序区间只有数组第1个元素,未排序区间从下标 1 开始到数组末尾。每次取未排序区间的第1个元素,将它插入已排序区间的合适位置,并保证已排序区间一直有序。重复这个过程,直到未排序区间为空,算法结束。 给有序数组(已排序区间)插入1个新元素, ......
算法 基础

【基础算法】排序算法 —— 选择排序

一、算法原理 选择排序将数组分为已排序区间和未排序区间,每次选择未排序区间的最小元素,将它放到已排序区间末尾。一次选择会让一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序。 示例:使用选择排序对数组 arr = [4,5,6,3,2,1] 从小到大排序。 第1次选择: 第2次选 ......
算法 基础

【基础算法】排序算法 —— 冒泡排序

一、算法原理 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,如果不满足大小关系要求,就进行交换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序。 示例:使用冒泡排序对数组 arr = [4,5,6,3,2,1] 从小到大排序。 第1 ......
算法 基础

稳定婚姻问题(Gale-Shapley算法)

前言 今天 duck、香饽饽老板和彬彬一起出了个模拟赛,赛时T2想到了跟正解很接近的做法,但最后还是打挂了then喜提0pts,后面 duck 讲题的时候才知道是稳定婚姻板题。 看完证明之后觉得很妙,遂开坑。 只是简单整理,图一乐子吧算是。 说是稳定婚姻问题,但其实我觉得更合适的叫法是属性稳定分配问 ......
Gale-Shapley 算法 婚姻 Shapley 问题

【基础算法】排序算法

一、排序算法简介 排序是对批量数据按照一定的顺序进行排列的操作。 1.1 学习排序算法的要点 算法原理、代码实现、评价算法优劣。 1.2 评价排序算法的优劣 排序算法的优劣可以从以下 3 个方面进行评价: 时间性能:最好、最坏、平均时间复杂度; 内存占用:是否原地排序,原地排序算法,特指空间复杂度是 ......
算法 基础

视频融合/监控汇聚平台EasyCVR人形检测算法应用汇总

安防视频监控平台EasyCVR是一个具有强大拓展性、灵活的视频能力和轻便部署的平台。它支持多种主流标准协议,包括国标GB28181、RTSP/Onvif、RTMP等,还可以支持厂家的私有协议和SDK接入,例如海康Ehome、海大宇等设备的SDK。该平台不仅拥有传统安防视频监控的功能,还具备接入AI智 ......
人形 算法 EasyCVR 平台 视频

排序算法

在线验证算法 排序数组 算法实现 1. 快排 思路 树的前序遍历。 每次选取一个数作基准值,将小于基准值的数放在左边,大于基准值的数放在右边。遍历左子树及右子树,直到只有1个数为止。 实现 class QuickSort { public static void sort(int[] nums) { ......
算法

归并排序算法详解

算法介绍 引用百度百科的介绍。 归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有 ......
算法

算法:线段树

算法:线段树 哦吼!终于来学线段树啦~~ 拖了好久都没有敢学,主要是基础知识点不熟,代码能力太弱。但是现在已经是时候了。 来看: 线段树(Segment Tree)几乎是算法竞赛最常用的数据结构了,它主要用于维护 区间信息 (要求满足结合律)。与树状数组相比,它可以实现 \(O(log⁡\ n)\) ......
线段 算法

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

三、用go语言,仿照图 10-2,画图表示依次执行操作 ENQUEUE(Q,4)、ENQUEUE(Q,1)、ENQUEUE(Q,3)、DEQUEUE(Q)、ENQUEUE(Q,8)和 DEQUEUE(Q)每一步的结果,队列初始为空,存储于数组 Q[1..6]中。 文心一言: 在这个问题中,我们尝试使 ......
文心 导论 算法 chatgpt VS

记一种无需形式幂级数求逆的多点求值算法

仅作为个人理解之用 来自 https://judge.yosupo.jp/submission/140699 首先product tree部分不变 我们考虑如何不使用形式幂级数求逆 注意到 如果对dft的点值求逆实际上是在对 x^lim-1 取模的意义下 实际上在这个意义下也是可做的 首先判掉所求点 ......
幂级数 算法 形式

KMP算法

KMP算法是用来进行字符串匹配的算法。 核心概念 1、s[ ]是模式串,即比较长的字符串。 2、p[ ]是模板串,即比较短的字符串。用P去匹配S。 3、“非平凡前缀”:指除了最后一个字符以外,一个字符串的全部从头部字符到末尾字符的前一个的所有组合。 4、“非平凡后缀”:指除了第一个字符以外,一个字符 ......
算法 KMP

视频汇聚/监控汇聚平台EasyCVR智能分析系统人脸检测算法的应用与特点

AI人脸检测算法具备提取人脸和服装特征的能力,并将其分类为有用的属性,如性别、年龄和服装颜色等。通过搜索这些丰富的属性信息,我们可以方便地找到目标人物,例如通过人脸图像进行相似图像搜索或实施人脸布控等操作。 安防视频监控平台EasyCVR是一个具有强大拓展性、灵活的视频能力和轻便部署的平台。它支持多 ......
人脸 算法 特点 EasyCVR 智能

视频汇聚/视频融合平台EasyCVR智慧安防AI算法方案,解放人力高效监管

安防视频监控平台EasyCVR是一个具有强大拓展性、灵活的视频能力和轻便部署的平台。它支持多种主流标准协议,包括国标GB28181、RTSP/Onvif、RTMP等,还可以支持厂家的私有协议和SDK接入,例如海康Ehome、海大宇等设备的SDK。该平台不仅拥有传统安防视频监控的功能,还具备接入AI智 ......
视频 算法 智慧 EasyCVR 人力

[数据结构和算法] 堆/优先队列的实现

预备知识: 完全二叉树可以用数组表示: 从下标0开始存储数据:左子节点 = 2 * 父节点 + 1,右子节点 = 2 * 父节点 + 2; 从下标1开始存储数据:左子结点 = 2 * 父节点,右子节点= 2 * 父节点 + 1; 堆: 大根堆:父节点的值大于等于左右子节点的值; 小根堆:父节点的值小 ......
数据结构 队列 算法 结构 数据

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

二、用go语言,说明如何在一个数组 A[1..n]中实现两个栈,使得当两个栈的元素个数之和不为 n 时,两者都不会发生上溢。要求 PUSH 和 POP 操作的运行时间为 O(1)。 文心一言: 在这个问题中,我们要在一个数组 A[1..n] 中实现两个栈,使得当两个栈的元素个数之和不为 n 时,两者 ......
文心 导论 算法 chatgpt VS

雷达到达角估计算法3DFFT,DBF,MUSIC,Capon的原理、对比、各自的优势

雷达到达角估计算法3DFFT,DBF,MUSIC,Capon的原理、对比、各自的优势 雷达到达角估计是雷达信号处理中的一个重要问题,旨在确定来自目标的雷达信号的到达角度。雷达到达角估计算法可以分为时域方法和频域方法两种类型。其中,频域方法可以进一步分为基于阵列信号处理的方法和基于普通雷达信号处理的方 ......
算法 原理 优势 3DFFT Capon