数列 前缀 区间 算法

算法刷题记录:[NOIP2009]潜伏者

###题目链接 https://ac.nowcoder.com/acm/contest/19306/1051 ###题目分析 用a、b进行映射。map或者模拟都可以。 注意两点即可: - a中的所有字母必须在b中出现,那么我们统计b中的所有字符再来判断a。 - a、b不能矛盾,将b[i]储存在idx ......
算法 NOIP 2009

如何衡量目标检测算法的优劣

# 如何衡量目标检测算法的优劣 目标检测(object detection)问题相对于一般AI分类问题更加复杂,不仅检测出目标,输出目标的类别,还要定位出目标的位置。分类问题中的简单accuray指标已经不能反映出目标检测问题结果的准确度,而mAP (Mean Average Precision)就 ......
优劣 算法 目标

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

# 二、为Strassen算法编写伪代码。 ## 文心一言: Strassen算法是一种用于矩阵乘法的算法,它的核心思想是通过不断将原始矩阵分割成较小的子矩阵来实现高效的乘法运算。以下是Strassen算法的伪代码: ``` function Strassen(A, B): if A[0][0] = ......
文心 导论 算法 chatgpt VS

根号算法

文章内容多摘自 [Alex_wei](https://www.cnblogs.com/alex-wei/p/sqrt_algorithms.html) 、 [不分解的AgOH](https://www.bilibili.com/video/BV1zE411673h/?spm_id_from=333. ......
根号 算法

位运算在排序算法中的运用

### 常规选择排序 ```javascript function selectSort(arr: Number[]) { //先排除一些不需要排序的情况 if (!arr || arr.length 现有N个数,除了唯一的一个数出现的次数是奇数,其他的均是出现了偶数次的数,现在请编程找出这个出现奇 ......
算法

Tarjan算法

## Tarjan算法与无向图连通性 ### 一、割点和桥的定义 给定一个无向连通图 $ G = (V,E) $ 若对于 $x \in V$ , 如果从图中删去节点 $x$ 以及与 $x$ 相连的边后,$ G $ 分裂成两个或者多个不相连的连通块,那么就说这个点是一个**割点**; 若对于 $e \ ......
算法 Tarjan

选择排序算法之泛型优化

选择排序算法 工作原理: 每一次从待排序的数据元素中选中最小的一个元素,然后,再从剩余未排序元素中继续寻找最小元素,将2个元素交换位置,就达到了已排序的元素一直是从小到大了。 这个算法的时间复杂度为O(n²),空间复杂度为O(1)。 /** * @Author: 翰林猿 * @Description ......
算法

代码随想录算法训练营第十五天|102. 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树

【参考链接】 102. 二叉树的层序遍历 【注意】 1.队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。 2.遍历的时候要记录队列的大小。就可以知道哪些元素是第几层的。 3.记得首先要判断 ......
随想录 训练营 随想 算法 代码

PPO算法的一个简单实现:对话机器人

综上,PPO算法是一种具体的Actor-Critic算法实现,比如在对话机器人中,输入的prompt是state,输出的response是action,想要得到的策略就是怎么从prompt生成action能够得到最大的reward,也就是拟合人类的偏好。具体实现时,可以按如下两大步骤实现 首先定义4 ......
机器人 算法 机器 PPO

算法导论阅读记录

#### $\color{red}{不正确的算法如果其错误率可以被控制的情况下肯是很有用的}$ [动态图解排序算法](https://visualgo.net/zh/sorting) ### 插入排序 对少量元素的排序较为有效,每次选择一个待排序元素,依次与已排序集合比较 伪代码 ``` //从第2 ......
导论 算法

三维装箱之遗传算法讲解

遗传算法 在达尔文提出来“物竞天择,适者生存”的生物进化理论的基础上,美国Michigan大学教授Jolm Holland在1975年作为第一个提出了基本遗传算法的概念,遗传算法实质上就是一种随机搜索类型的算法,又称random searchingalgorithms,这种算法所使用机制大致和生物自 ......
算法

P1851 成熟的数列

#include<iostream> #include<algorithm>//lower_bound函数 using namespace std; typedef long long ll; const int N = 1e6+5; int n,z; ll num[N]; int main() { ......
数列 P1851 1851

非极大值抑制(NMS)算法详解

NMS(non maximum suppression)即非极大值抑制,广泛应用于传统的特征提取和深度学习的目标检测算法中。 NMS原理是通过筛选出局部极大值得到最优解。 在2维边缘提取中体现在提取边缘轮廓后将一些梯度方向变化率较小的点筛选掉,避免造成干扰。 在三维关键点检测中也起到重要作用,筛选掉 ......
极大值 算法 NMS

哈希算法

哈希算法 哈希算法 哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。 哈希算法最重要的特点就是: 相同的输入一定得到相同的输出; 不同的输入大概率得到不同的输出。 哈希算法的目的就是为了验证原始数据是否被篡改。 Java字符串的h ......
算法

第六章.数据结构与算法基础(重点)

上午下午都会考,且难度最高 重点:线性表、树与二叉树、排序与查找、算法基础及常见算法 第一节.数组与稀疏矩阵 数组 主要考察一维二维数组存储地址的计算 一维数组存储地址计算:a+i*len;i为索引号,len是每个位置所占的内存大小 二维数组存储地址计算(分为按行优先和按列优先):如五行五列的二维数 ......
数据结构 算法 重点 结构 基础

python如何利用算法解决业务上的【分单问题】

分单是很多企业日常工作中非常典型的一项内容,它非常复杂,但同时又极为重要,如何合理的分单是企业管理中一个很重要的课题。 之所以说分单很复杂,是因为影响单据该分给谁,分多少量这个事儿本身就有太多的影响因子;一旦管理者在分单的公平性上出现大的问题,厚此薄彼了,往大了讲,员工的做事积极性有可能都会被挫伤。 ......
算法 业务 python 问题

各种排序算法的快速了解

冒泡排序 算法描述 重复地比较要排序的数列,一次比较两个元素,如果后者较小则与前者交换元素。 比较相邻的元素,如果前者比后者大,则交换两个元素。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 针对所有的元素重复以上的步骤,除了最后一个。 快速排序 快速排序算法通过多次比较和交换来实现 ......
算法

浅谈斐波那契数列和卡特兰数

# 斐波那契数列 斐波那契数列是我们较为熟悉的一类数列了,在学习递归和递推的时候我们就已经能求解 $n$ 较小的情况了;斐波那契数列的定义如下: $$ \left\{\begin{matrix} F_{n}=0& n=0\\ F_{n}=1& n=1\\ F_{n}=F_{n-1}+F_{n-2}& ......
卡特兰 数列

算法day1

暴力解 二分查找 直接fast遍历数组,不要用for循环i遍历, ......
算法 day1 day

Graph Embedding:LINE算法

背景 如上图所示,结点6和7是相邻结点,他们应该是相似结点,结点5和6虽然不是相邻结点,但是它们有共同的相邻的结点,因此它们也应该是相似结点。 基于词观察,LINE算法提出了一阶相似性算法和二阶相似性算法 First-order 我们首先如如下公式来计算结点i和j的联合概率分布: 其中ui,uj​分 ......
算法 Embedding Graph LINE

关于前缀和

## Part1.1 一维前缀和 ### 题目描述 输入一个长度为 $n$ 的整数序列,接下来输入 $m$ 个询问,每个询问输入一对 $l$ , $r$ 对于每个询问,输出原序列中从第 $l$ 个数到第 $r$ 个数的和 ### 输入格式 第一行包含两个整数 $n$ 和 $m$ 第二行包含 $n$ ......
前缀

Luogu P8218 求区间和

## 题目描述 [link](https://www.luogu.com.cn/problem/P8218) ## 思路 直接套前缀和板子 ~~水题~~ ## Code ```cpp #include #include #include using namespace std; int n, a[1 ......
区间 Luogu P8218 8218

01.斐波那契数列

### 1、暴力递归 斐波那契数列的数学形式就是递归的,写成代码就是这样: ~~~ int fib(int N) { if (N == 1 || N == 2) return 1; return fib(N - 1) + fib(N - 2); } ~~~ ### 2、带备忘录的递归解法 一般使用一 ......
数列 01

二分图匹配算法

匈牙利算法、Hopcroft-Karp算法和Kuhn-Munkres算法是三种常见的二分图匹配算法,它们在实现方式、时间复杂度和适用场景上有所差异。以下是它们的区别和优缺点: 1. 匈牙利算法: - 实现方式:匈牙利算法使用深度优先搜索(DFS)来寻找增广路径,通过不断更新匹配的顶点对来找到最大匹配 ......
算法

JUC:cas 算法、原子类、原子引用类

### 什么是 CAS + 全称是 Compare-And-Swap,对数据进行 **原子性** 操作,sun.misc.Unsafe 类的各个 native 方法实现的 + 比较当前工作内存中的值和主内存中的值,如果相同则执行规定操作,否则什么都不做或者重来一次,重来就是自旋锁了 [java各种锁 ......
原子 算法 JUC cas

算法-给你两个非空的链表,请你将两个数相加,并以相同形式返回一个表示和的链表

## 1.题目描述 https://leetcode.cn/problems/add-two-numbers/?envType=study-plan-v2&envId=top-100-liked 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数 ......
两个 算法 形式

【算法学习前置】了解JS中的数组

## 介绍 此篇属于前端算法入门系列的第一篇,主要介绍常用的`数组方法`、`字符串方法`、`遍历方法`、`高阶函数`、`正则表达式`以及相关`数学知识`。 **文章主要包含以下内容:** - 数组常用方法 - 字符串常用方法 - 常用遍历方法&高阶函数 - 常用正则表达式 - 数学知识 ## 一、数 ......
数组 算法

【算法学习前置】了解js中的字符串

## 二、字符串常用方法 1. `chat()` 返回指定索引位置处的字符。类似于数组用中括号获取相应下标位置的数据。 ```js const str = 'abcdef' console.log(str.chat(2)) // 'c' console.log(srt[2]) // 'c' ``` ......
字符串 算法 字符

以太网监听算法

1.非坚持算法:若信道忙,则放弃监听,后退一段随机时间后再重新发送.这种方法重新冲突的概率低,但是会引入过多的信道延迟,浪费信道的带宽 2.坚持算法:若信道忙,则继续监听,知道信道空闲就发送.这种方法冲突的概率高,但是可以减少发送延迟 3.P坚持算法:若信道忙,则以概率P继续监听,或以概率P-1放弃 ......
以太网 算法

exgcd|扩展欧几里得算法|扩展欧几里得算法证明 一文说明白

## exgcd 扩展欧几里得算法(Extended Euclidean algorithm, EXGCD),常用于求 $ax+by=\gcd(a,b)$ 的一组可行解。 > 部分选自[OI Wiki](https://oi-wiki.org/math/number-theory/gcd/#%E6% ......
算法 exgcd