笔试 算法 一道
最近公共祖先 算法总结
现知LCA算法有倍增、Tarjan、树链剖分 再LCA问题上各自的特点如下表 | | 倍增 | Tarjan | 树链剖分 | | : : | : : | : : | : : | | 数组 | fa[u][i], dep | fa, vis, query, ans | fa, dep, size_t ......
青岛市程序设计竞赛冲刺⑥(2023第四届上海市青少年算法竞赛小学组试题)
2.幸运数 原题: 原代码: #include<bits/stdc++.h> #define ll long long using namespace std; const int N = 1e7+5; ll a[505]={0,6,8,66,68,86,88,666,668,686,688,866 ......
【算法】LRU 最近最少使用算法
1 前言 上节我们介绍了几个页面替换算法,也就是一种淘汰策略,这节我们就看一种新的算法:LRU哈。 2 LRU LRU(Least Recently Used,最近最少使用)算法根据页面的历史请求记录来进行淘汰页面,其核心思想是 “如果页面数据最近被访问过,那么将来被访问的几率也更高”。基于这个思想 ......
比较算法(1)
1、介绍 需求:有时候需要比较两个文本,看有什么异同。 在渗透过程中分析响应变化很实用,可以快速定位不同区域,比如在xss分析过程,或者定位一次性token 另一个场景,是对文件与文件的字节进行比较,用于学习文件结构,以及分析图片木马、加壳、后缀名修改等操作的影响 比较算法,将两个文本分别进行切割成 ......
余弦相似度算法进行客户流失分类预测
余弦相似性是一种用于计算两个向量之间相似度的方法,常被用于文本分类和信息检索领域。具体来说,假设有两个向量A和B,它们的余弦相似度可以通过以下公式计算: 其中,dot_product(A, B)表示向量A和B的点积,norm(A)和norm(B)分别表示向量A和B的范数。如果A和B越相似,它们的余弦 ......
Java 实现 FIFO 缓存算法
Java 实现 FIFO 缓存算法 一、什么是 FIFO FIFO(First In, First Out)是一种常见的数据结构,也叫做先进先出队列。它的特点是先进入队列的数据最先出队。 类似于现实中排队买东西的场景,先来的人先排队,先买完商品的人先离开。 在计算机领域,FIFO常用于缓存管理、进程 ......
Prophet 时间序列预测算法
Prophet 时间序列预测算法 一、背景 时间序列预测是一种预测未来数据的方法,对于时间序列的分析,我们可以采用传统的统计学方法,例如 ARIMA、Exponential Smoothing等,这些方法通过分析过去的数据建立模型来预测未来的趋势,但是这些方法有一个限制就是必须满足某些假设条件,例如 ......
Java 实现 LRU 缓存算法
Java 实现 LRU 缓存算法 一、什么是 LRU LRU(Least Recently Used,最近最少使用)是一种缓存算法,其核心思想是将最近最少使用的缓存项移除,以便为更常用的缓存项腾出空间。 在实际应用中,LRU 算法被广泛用于缓存和页面置换。 二、Java 实现 LRU 缓存算法 在 ......
【算法】哈希算法
1 前言 本节我们来看我们常用的哈希算法哈。 2 为什么要有哈希 假设我们要设计一个系统来存储将员工手机号作为主键的员工记录,并希望高效地执行以下操作: 插入电话号码和相应的信息。(插入) 搜索电话号码并获取信息。(查找) 删除电话号码及相关信息。(删除) 我们可以考虑使用以下数据结构来维护不同电话 ......
【算法】页面替换算法
1 前言 功能:当缺页中断发生,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。 目标:尽可能地减少页面的换进换出次数(即缺页中断的次数)。具体来说,把未来不再使用的或短期内较少使用的页面换出,通常只能在局部原理指导下依据过去的统计数据来进行预测。 2 最优页面替换算法 基本思路:当一 ......
从分布式共识算法到区块链共识机制
英文原文链接:https://medium.com/datadriveninvestor/from-distributed-consensus-algorithms-to-the-blockchain-consensus-mechanism-75ee036abb65 From Distributed ......
Stoer-Wagner 算法
刚才可能是有用算法。这次是无用算法。 无向图的最小割是最小的边集使得割掉后不连通。Stoer-Wagner 算法可以在 $O(n^3)$ 复杂度内解决无向图最小割。或者说实际上是 $O(nm\log m)$。 首先有一句废话:对于任意两点 $s,t$ ,割掉最小割后,或者处于一个连通块,或者处于不同 ......
06 ETH-挖矿算法
《区块链技术与应用》课程链接:https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click 06 ETH-挖矿算法 挖矿是保障区块链安全的一个重要手段。 Blockchain is sec ......
项目实践:我在嵌入式控制上对PID算法的理解
关于PID算法的碎碎念(我也不知道咋说明)。 笔者:czg-bky 全文:我在嵌入式控制上对PID算法的理解 - czg-bky - 博客园 (cnblogs.com) ......
分别使用SAD匹配,NCC匹配,SSD匹配三种算法提取双目图像的深度信息
1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 深度学习的蓬勃发展得益于大规模有标注的数据驱动,有监督学习(supervised learning)推动深度模型向着性能越来越高的方向发展。但是,大量的标注数据往往需要付出巨大的人力成本,越来越多的研究开始关注如何在不 ......
最近公共祖先 Tarjan算法
例题:洛谷P3379 【模板】最近公共祖先(LCA) https://www.luogu.com.cn/problem/P3379 tarjan算法是利用了并查集来求LCA的,时间复杂度比倍增低,是O(n+m) #include<iostream> #include<vector> #include ......
算法3:质数的个数
一、质数的定义 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 二、判断质数的方法 1 for(int j = 2; j < i; j ++) { 2 if(i % j == 0) 3 break; 4 if(i == j) 5 cout << i << " "; 6 } 三 ......
最近公共祖先 倍增算法
求最近公共祖先(Lowest Common Ancestor,LCA) 例题:洛谷P3379 【模板】最近公共祖先(LCA) https://www.luogu.com.cn/problem/P3379 基本思路就是先用倍增把两点升到同一深度,然后倍增来找最近公共祖先。 其中fa数组是关键 #inc ......
推荐算法的知识框架【更新中】
几年前刚进入行业时,就简单认为不过是wide&deep做精排,双塔FM做召回做粗排,再加上一些周边项目,比如冷启动和多模型融合调参,就组成了一个完整的推荐系统算法部分。再回头思考这一切,不再迷失在各式各样的实现细节中,关注本质,有了更广泛的认识,分为一下几个部分。 1. 建模方法 多阶段的推荐系统如 ......
整理一些学过的数据结构和算法
匆匆忙忙中学了很多算法,但基本都是打个板子~~就跑路了~~,有些算法有个人比较深入和独特的见解,但大部分,只是实现例题的需求,对算法的作用似懂非懂,所以写篇博客整理一下。 无旋平衡树(treap) 高级数据结构:树和堆 可以允许的操作:插入,删除,查询某数排名,查询某排名的树(第K大),求某数的前驱 ......
【字节二面算法】NO662 二叉树最大宽度
[字节二面算法] 662. 二叉树最大宽度 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 nul ......
「学习笔记」SPFA 算法的优化
与其说是 SPFA 算法的优化,倒不如说是 Bellman-Ford 算法的优化。 栈优化 将原本的 bfs 改为 dfs,在寻找负环时可能有着更高效的效率,但是最坏复杂度为指数级别。 void dfs_spfa(int u) { if (fg) return; vis[u] = true; for ......
线索化二叉树的递归算法
// 线索化二叉树的递归算法 #include <stdio.h> #include <malloc.h> typedef struct BiTNode { int data; struct BiTNode *lchild, *rchild; // 存储二叉树的左孩子和右孩子 } BiTNode, ......
m分别使用meanshift和camshift两种算法实现人员跟踪并输出人员移动曲线matlab仿真
1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 meanshift算法其实通过名字就可以看到该算法的核心,mean(均值),shift(偏移),简单的说,也就是有一个点 ,它的周围有很多个点 我们计算点 移动到每个点 所需要的偏移量之和,求平均,就得到平均偏移量,( ......
文心一言 VS chatgpt (13)-- 算法导论3.1 8题 3.2 1题
八、可以扩展我们的记号到有两个参数n和m的情形,其中的n和m可以按不同速率独立地趋于无穷。对于给定的函数g(n, m),用O(g(n, m))来表示以下函数集: O(g(n, m)) = { f(n, m): 存在正常量c、和,使得对所有n>=n0或m>=m0,有 0<=f(n,m)<=cg(n,m ......
数据结构与算法复习--(2)
#算法和算法分析 算法的定义 对特定问题求解方法和步骤的一种描述,它是指令的有限序列。其中每个指令表示一个或多个操作。 算法的描述 自然语言:英语、中文 流程图:传统流程图、NS流程图 **伪代码:类语言:**类C语言 **程序代码:**C语言程序、Java语言程序 算法与程序 算法是解决问题的一种 ......