横向 算法 轨迹simul

内存淘汰算法

内存有限,内存不够时选择一些移除内存空间。 1、先进先出FIFO ->适合缓存数据 2、最近最少使用LRU ->适合需要快速访问数据,如web服务器缓存 根据使用时间进行淘汰 3、最少使用LFU ->大规模数据存储 根据使用次数进行淘汰 4、随机Random ......
算法 内存

算法

1.快排排序void quick_sort(int q[],int l,int r){if(l>=r)return ;int i=l-1,j=r+1;int x=q[l+r>>1];while(i<j){do i++;while(q[i]<x);do j--;while(q[j]>x);if(i<j ......
算法

算法2

4.二分算法(浮点数)bool check(double x).....//x满足某种性质void bsearch_3(double l,double r){const eps=1e-6;//控制精度while(i-j<eps){int mid=(l+r)/2;if(check(mid))l=mid ......
算法

算法基础课——合并集合(并查集)

合并集合 问题描述 一共有 n 个数,编号是 1∼n,最开始每个数各自在一个集合中。 现在要进行 m 个操作,操作共有两种: M a b,将编号为 a 和 b 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为 a 和 b 的两个数是否在同一个集合中; 输 ......
基础课 算法 基础

算法基础课——连通块中点的数量

连通块中点的数量 问题描述 给定一个包含 n 个点(编号为 1∼n)的无向图,初始时图中没有边。 现在要进行 m 个操作,操作共有三种: C a b,在点 a 和点 b 之间连一条边,a 和 b 可能相等; Q1 a b,询问点 a 和点 b 是否在同一个连通块中,a 和 b 可能相等; Q2 a, ......
中点 基础课 算法 数量 基础

常见排序算法以及Java实现

快速排序 class Solution { //创建随机对象,便于后于选基准值 static Random random = new Random(); public int[] sortArray(int[] nums) { int n = nums.length; int left = 0; i ......
算法 常见 Java

【LBLD】小而美的算法技巧:差分数组

【LBLD】差小而美的算法技巧:差分数组 差分数组 差分数组的第 i 个元素存储原数组第 i 个元素和第 i-1 个元素的差值,其中,差分数组的首元素的值 diff[0] 为原数组首元素的值 nums[0]。 1109.航班预订统计 class Solution { public: vector<i ......
数组 算法 技巧 LBLD

使用 MybatisPlusCore 自带的雪花算法生成不重复数字

这里不介绍雪花算法的实现原理,可以自行搜索查阅网上的资料。这里主要介绍雪花算法的使用场景,如何调用第三方类库 Mybatis Plus Core 自带的方法来使用雪花算法。 雪花算法的主要使用场景,就是生成不重复的数字,作为数据库表的主键使用。你可能会使用 uuid 作为主键,但是其占用 16 个字 ......
MybatisPlusCore 算法 雪花 数字

【算法学习】图论模板

注意! 并查集只适用于无向图。 DFS 特点:当前层可以获得下层状态、向下层不断遍历 处理方式:递归 模板: // dfs注意剪枝 void dfs(int u){ if(u > n) { 输出路径 return; } for(int i = 0; i < n;i ++) // 遍历点 { if(条 ......
算法 模板

算法中的初始化0x3f

写算法的时候,我们常常需要用到设置一个常量用来代表“无穷大”,比如对于int类型的数,有的人会采用INT_MAX,即0x7fffffff作为无穷大。 但是以INT_MAX为无穷大常常面临一个问题,即加一个其他的数会溢出。而这种情况在动态规划,或者其他一些递推的算法中常常出现,很有可能导致算法出问题。 ......
算法 0x3f 0x x3 3f

算法随想Day53【单调栈】| LC84-柱状图中最大的矩形

int largestRectangleArea(vector& heights) { int result = 0; stack st; heights.insert(heights.begin(), 0); heights.push_back(0); st.push(0); for (int i ......
矩形 随想 算法 Day 53

算法随想Day52【单调栈】| LC503-下一个更大元素Ⅱ、LC42-接雨水

LC503. 下一个更大元素Ⅱ 对于“每日温度”,相当于对nums数组,进行了两次遍历。用i % size所得余数作为下标,且循环的圈数为size * 2 vector<int> nextGreaterElements(vector<int>& nums) { int size = nums.siz ......
随想 算法 雨水 元素 LC

算法随想Day51【单调栈】| LC739-每日温度、LC496-下一个更大元素Ⅰ

LC739. 每日温度 vector<int> dailyTemperatures(vector<int>& temperatures) { int size = temperatures.size(); vector<int> result(size, 0); vector<int> sta; s ......
随想 算法 元素 温度 LC

Quine-McCluskey算法简介及其C++代码实现

Algorithm List all minterms (and don't care terms) Step by step merging one layer at a time (note that only two minimum terms with a distance of 1 can ......

机器——算法

上位机(计算机视觉)(AGX) 下位机(单片机)控制具体硬件(STM32) GPIO STM32 基于ARM的32位微控制器 F通用类型 407产品子系列 Z引脚数目:T36 C48 R64 V100 Z144 G闪存存储器容量 实验内容 控制LED灯闪烁 需要具备的能力 单片机编程能力 C/C++ ......
算法 机器

golang蒙特卡洛树算法实现五子棋AI

已经实现蒙特卡洛树算法的通用逻辑,只需要对应结构体实现相关接口就可以直接使用该算法。 优化算法主要优化GetActions生成下一步动作,要尽可能少,去掉无意义的动作。 以及优化ActionPolicy从众多动作挑选比较优秀的动作。对应五子棋就是执行该动作后当前局面评分最高。 package mai ......
五子棋 算法 golang

进程调度算法

1、先来先服务FCFS 非抢占式,按照请求顺序来进行调度。 有利于长作业,不利于短作业,短作业等待时间长。 2、最短作业优先 非抢占式,按照运行时间最短顺序调度。 长作业可能饿死,等待短作业一直得不到运行。 3、最短剩余时间优先 短作业的抢占式版本,按剩余时间调度。 4、时间片轮转 按FCFS原则排 ......
算法 进程

【入门】Go语言排序算法详解

1、冒泡排序 冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的两个元素,并在必要时交换它们的位置,直到没有任何一对元素需要交换为止。该算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 package main import "fmt" // 我们定义了一个名为`bu ......
算法 语言

【算法专题】容斥原理

【算法专题】容斥原理 题 E. Devu and Flowers https://codeforces.com/contest/451/problem/E 前置知识:隔板法 然后正难则反,把至多取 $a_i$ 个转化为 至少取 $a_i+1$ 的反问题,就能套用隔板法的公式了。 答案即为: #inc ......
算法 原理 专题

递归算法

递归算法 递归算法是一种通过调用自身来解决问题的算法。递归算法通常涉及到将一个问题划分为较小的子问题来解决,并在子问题中调用自身来完成。 递归算法的基本思想是,将一个大问题转化为一个或多个相同结构的小问题,直到问题变得足够小以便直接解决。然后将这些小问题的解组合成原始问题的解。在递归算法中,一个函数 ......
算法

算法导论-第2章-算法基础

第2章 算法基础 2.1 插入排序(Insertion sort) 输入:$n$个数的序列$<a_1,a_2,\cdots,a_n>$ 输出:输入序列的一个排列$<a_1^{'},a_2^{'},\cdots,a_n^{'}>$,满足$a_1^{'} \le a_2^{'} \le \cdots \ ......
算法 导论 基础

算法导论-第1章-算法在计算中的作用

第1章 算法在计算中的作用 1.1 算法(Algorithms) 非形式地说,算法(algorithm)是任何明确定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或某个值的集合作为输出。因此算法就是将输入转换为输出的一系列计算步骤。 Informally, an algorithm is ......
算法 导论 作用

VBA 对象数组排序算法分享

Function SrotObjectByProperty(objsToSort As Variant, PropertyName As String, Optional 降序 As Boolean = True) If IsEmpty(objsToSort) Then Exit Function ......
数组 算法 对象 VBA

算法笔记之并查集

并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。常常在使用中以森林来表示。 ......
算法 笔记

基于凸集上投影(POCS)的聚类算法

POCS:Projections onto Convex Sets。在数学中,凸集是指其中任意两点间的线段均在该集合内的集合。而投影则是将某个点映射到另一个空间中的某个子空间上的操作。给定一个凸集合和一个点,可以通过找到该点在该凸集合上的投影来进行操作。该投影是离该点最近的凸集内的点,可以通过最小化 ......
算法 POCS

【LBLD】小而美的算法技巧:前缀和数组

【LBLD】小而美的算法技巧:前缀和数组 一维数组中的前缀和 class NumArray { private: vector<int> preSum; public: NumArray(vector<int>& nums) { preSum.push_back(0); for (int i = 1 ......
前缀 数组 算法 技巧 LBLD

mp雪花算法生成的id到前端丢失精度问题

mp生成的id是Long型18位,但是js处理到16位就四舍五入了,解决办法就是在服务器转成字符串传给前端 WebMvcConfig 要继承 WebMvcConfigurationSupport,重写里面的 extendMessageConverters方法 @Override protected ......
前端 精度 算法 雪花 问题

7 - RSA 算法

RSA 算法 我的博客 原书:《Understanding Cryptography: A Text book for Students and Practitioners》 胡言乱语 在 Whitfield Diffie 与 Martin Hellman 于 1976 年发表关于公钥加密的论文,掀 ......
算法 RSA

基于matlab的高精度信号峰值检测算法

1.算法描述 峰值检验是示波表中数据采集方式之一, 这种技术起源于存储深度不能满足捕获毛刺的需要。如果用模拟示波器去观察, 只有当毛刺信号是重复性的并且和主信号同步时, 才能看到毛刺信号 。由于毛刺源于其他电路系统, 所以这些毛刺只是偶尔发生, 并且和主信号不同步。正常采样方式时, 要捕捉窄的毛刺, ......
高精 峰值 高精度 算法 信号

m基于PID控制算法的四旋翼无人机飞行控制simulink仿真

1.算法描述 无人机采用常见的四旋翼无人飞行器,如图1所示。 PID控制器,即控制器的控制方式为P比例调整,I积分调整以及D微分调整三个部分构成,PID控制器是目前为止应用最为广泛的控制方式。PID控制器具有结构简单,性能稳定,参数设置简单等优势。PID控制器适用于各种控制对象无法进行测量获得系统参 ......
旋翼 无人机 算法 simulink PID