回文 算法noip 1999

KMP算法【字符串搜索算法】

KMP算法 1. 算法核心 利用匹配失败后的信息 尽量减少模式串(B)与主串(A)的匹配次数 以达到快速匹配的目的 通过一个 next 数组,保存模式串(B)中 前后最长公共子序列的长度,每次回溯时,通过 next 数组找到,前面匹配过的位置,省去了大量的计算时间 2. 如何减少匹配次数 2.1. ......
算法 字符串 字符 KMP

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

五、用go语言,设 L 是一个长度为 n 的双向链表,存储于长度为 m 的数组key、prev 和next 中。假设这些数组由维护双链自由表 F的两个过程 ALLOCATE-OBJECT 和 FREE-OBJECT 进行管理。又假设 m 个元素中,恰有 n 个元素在链表 L 上,m-n 个在自由表上 ......
文心 导论 算法 chatgpt VS

【学习笔记】Miller-Rabin 算法

费马小定理 当 \(p\) 为质数时,若 \(\gcd(a,p)=1\),则 \(a^{p-1}\equiv 1\pmod p\)。 但逆命题是错的,例如 \(p=561\) 这类卡迈克尔数,满足任何 \(\gcd(a,p)=1\) 都有 \(a^{p-1}\equiv 1\pmod p\)。所以用 ......
Miller-Rabin 算法 笔记 Miller Rabin

区块链与安全问题-精讲对等网络、共识算法、密码学算法

本博文转载自 天山老妖 的博客:http://blog.51cto.com/9291927 一、区块链密码安全技术简介 区块链和分布式账本中大量使用了密码学和安全技术的最新成果,特别是身份认证和隐私保护相关技术。区块链使用了包括Hash 算法与摘要、加密算法、数字签名和证书、PKI体系、Merkle ......
算法 密码学 区块 共识 密码

安防监控视频汇聚平台EasyCVR增加AI算法列表接口的实现方法

安防监控视频汇聚平台EasyCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能分析等功能。平台既具备传统安防监控的能力,也支持提供AI算力算法接入的能力。 今天我们来介绍下在EasyCVR ......
算法 接口 EasyCVR 方法 平台

浅谈一些并行排序算法

对于普通的基于比较排序我们拥有一个复杂度下界 \(O(n\log n)\),然而如果我们允许并行计算的话,将得到一些复杂度更优秀的计算方法。 听到并行这个词许多人就会认为你有几个线程复杂度就除以几,所以线程堆得越多越好。但许多的算法问题都必须要满足你必须要算完 A 才能去计算 B,比如对于普通的前缀 ......
算法

2023NOIP A层联测16 T3 货物运输

2023NOIP A层联测16 T3 货物运输 题目描述说这是一个仙人掌图,通常将问题转换为环和树的问题在使用圆方树来解决。 树解法 令 \(a_i=s_i-\frac{\sum s_i}{n}\) ,最终令 \(a_i=0\)。 通过树形 dp,从叶子节点向上转移,叶子节点要么向父亲拿资源,要么向 ......
货物运输 货物 2023 NOIP T3

贪心算法

顾名思义,贪心,即永远选择当下情况下最佳的结果,也就是所谓的局部最优解。该算法寄希望于局部最优解的堆积可以形成总体上的最优算法。 注意:可以使用反证法来判断贪心算法是否可以计算出最优路径。 注:大部分有限选择的情况都可以通过有限状态机解决。 ......
算法

10.24算法

三数之和给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答 ......
算法 10.24 10 24

【基础算法】- 贪心

贪心 定义 贪心算法适用于最优子结构问题。意思是问题在分解成子问题来解决时,子问题的最优解能递推到最终问题的最优解。常见的符合这种性质的问题如: 「我们将 XXX 按照某某顺序排序,然后按某种顺序(例如从小到大)选择。」 「我们每次都取 XXX 中最大/小的东西,并更新 XXX。」 但比如在大部分只 ......
算法 基础

子序列相关算法

1、最长公共子序列 最长公共子序列(Longest Common Subsequence,LCS)是动态规划中的经典问题,顾名思义,即求两个序列最长的公共子序列(可以不连续)。 1 #include <iostream> 2 #include<string> 3 using namespace st ......
序列 算法

md5算法实现

前言 md5算法是我们经常会用到的一个hash函数, 虽然已经被证明是不安全的了, 但其应用依然十分广泛. 哈希函数具有如下特点: 将任意长度的字符串映射为固定长度 源数据微小的改动会导致结果差异巨大 不可逆 暴力破解困难 你有没有好奇过, 哈希函数是如何做到这些的呢? 本文就拿md5举例, 看一看 ......
算法 md5 md

P2679 [NOIP2015 提高组] 子串 题解

#include <bits/stdc++.h> using namespace std; #define int long long const int MOD = 1000000007; int n,m,k,dp[205][205][2]; char A[1005],B[205]; signed ......
题解 P2679 2679 2015 NOIP

diff算法

什么是Diff算法?Diff算法是Vue.js的一个核心特性,它是一种用于比较虚拟DOM树的差异,并最小化DOM操作的数量。当Vue.js检测到数据更改时,它会生成一个新的虚拟DOM树,并将其与旧虚拟DOM树进行比较。Diff算法会查找差异,并仅对需要更改的部分进行DOM操作。这种算法可以帮助我们在 ......
算法 diff

算法笔记(6)数列分块

原发表于我的博客 前言 分块不能说是一种数据结构,它是一种思想,无论是数列分块,块状链表,还是数论分块,莫队算法,都应用了分块的思想。 本文主要介绍狭义上的分块,即数列分块。 数列分块的引入 数列分块可以说是暴力,一种优美的暴力,它的基本思路是,把数列分成若干块(一般取\(\sqrt n\)),分块 ......
数列 算法 笔记

算法笔记(5)贪心算法

原发表于我的博客 贪心算法 贪心与其说是一种算法,不如说一种思想。 贪心思想,顾名思义,就是总是做出当前最好的选择,这种方式可能在全局上不是最好的结果,但是在一些题目中就可以直接用。 最简单的例子就是“货比三家”,在生活中,我们买东西时都会挑性价比最优的,这就是一种贪心。 贪心算法在OI中经常与其他 ......
算法 笔记

算法笔记(4)莫队算法入门

原发表于我的博客 前言 本来想学完回滚莫队、树上莫队、二离莫队之后一起写一个博客,但是一直学不会/kk,只好把已会的普通莫队和带修莫队写了(以后会补上的) 普通莫队 莫队——优雅的暴力 莫队算法的引入 例题: 给定一个数列和若干询问,每次询问询问一段区间内不同种类数字的个数。 暴力做法 每次询问暴力 ......
算法 笔记

算法笔记(3)模拟退火

原发表于个人博客= 模拟退火的引入 假如我们有一个函数,要求它的极大值,怎么求呢? 如果这个函数满足单调性,可以用二分的方法。 如果这是一个单谷(或单峰)函数,可以用三分法。 那要是多峰函数怎么半呢? 这时就可以用随机化算法。 一种朴素的方法是:每次在当前找到的最优方案\(x\)附近寻找一个新方案。 ......
算法 笔记

算法笔记(2)FHQtreap

原发布于我的个人博客 前言 FHQtreap绝对是平衡树里最好写,最实用的,他几乎能做所有splay或其它平衡树能做的事,还能可持久化! 这篇文章将会介绍FHQtreap的基本操作和维护区间的操作,并附上例题。 基本操作 FHQtreap的基本操作只有两个,分裂和合并。 有些读者可能会问,分裂和合并 ......
算法 FHQtreap 笔记

K-medoids聚类算法

发展: 们每次选簇的平均值作为新的中心,迭代直到簇中对象分布不再变化。因此一个具有很大极端值的对象会扭曲数据分布,造成算法对极端值敏感 在聚类分析中,异常值通常会引起问题,因为它们可能会被分配到一个独立的聚类,从而干扰正常的聚类结果。这可能导致聚类算法产生不合理或不稳定的结果 定义: K-Medoi ......
算法 K-medoids medoids

算法笔记(1)线段树

原发表于个人博客。 前言 线段树,是数据结构皇冠上的明珠(我编的)。 它用途广泛,被一代代的oier应用,改进,优化。 本文介绍了线段树的基础知识和各种拓展(包括权值线段树,可持久化线段树),各种优化方式(包括zkw线段树,动态开点,离散化),希望能帮到更多的oier。 在学习线段树前,默认你应该学 ......
线段 算法 笔记

算法-共识算法

一、Paxos 基础的Paxos算法包括如下三种:Basic Paxos、Multi Paxos、Fast Paxos Paxos将系统中的角色分为提议者 (Proposer),决策者 (Acceptor),和最终决策学习者 (Learner): 【Proposer】:提出提案(Proposal)。 ......
算法 共识

NOIP模拟赛记录

NOIP模拟赛记录 2023.10.23 比赛记录 A. 公园 直接dijkstra即可 可爱的code捏 #include <bits/stdc++.h> using namespace std; #define int long long #define ull unsigned long lo ......
模拟赛 NOIP

manacher算法

manacher算法 斯♥哈♥学长的博客https://www.cnblogs.com/luckyblock/p/17044694.html#5140558 为什么老师叫他马拉车算法/yiw 简介 我们都知道,求最长回文子串可以枚举每一个开始的点,然后直接一个一个比较就完事,但这样的复杂度是接近 \ ......
算法 manacher

C++U4-贪心算法1

本节学习目标:贪心算法的概念以及对应练习题 贪心算法概念 贪心算法的特点 利用贪心算法的两个性质 练习1:最优装载问题 【本题算法分析】 优先把重量小的物品放进去,在容量固定的情况下,装的物品量最多。因此采用重量最轻者先装的贪心选择策略,可从局部最优达到全局最优。 参考代码 #include <io ......
算法 U4

125. 验证回文串

目录题目法一、切片技巧法二、双指针 题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。 示例 1: ......
回文 125

【杂谈】NOIP 考前日记

寄划 有奖竞猜这次三分钟热度的 Arcka 能坚持几天(,猜对的奖励一个 Biuld,第一个猜对的额外奖励一个 Slcloud。 大体:很多没学过的知识点虽然很想补,但只有一个月时间,我并不认为我可以都学完。所以大概是针对我的一些弱项:数学,树上问题,计数类问题等 Week 1 日期 任务 完成情况 ......
杂谈 日记 NOIP

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

四、用go语言,我们往往希望双向链表的所有元素在存储器中保持紧凑,例如,在多数组表示中占用前m 个下标位置。(在页式虚拟存储的计算环境下,即为这种情况。)假设除指向链表本身的指针外没有其他指针指向该链表的元素,试说明如何实现过程ALLOCATE-OBIECT和 FREE-OBJECT,使得该表示保持 ......
文心 导论 算法 chatgpt VS

磁盘调度算法

1、FCFS调度--先来先服务 例如,I/O请求块的柱面的顺序如下:98,183,37,122,14,124,65,67 他请求的话,是这样一个图示: 就直接根据请求序列进行调度即可,但是吧,它看起来摆动幅度就很大,这样导致这种形式的调度的性能比较差; 2、SSTF调度--最短寻道时间优先 还是按照 ......
磁盘 算法

图书推荐管理系统Python+Django网页界面+协同过滤推荐算法

一、介绍 图书管理与推荐系统。使用Python作为主要开发语言。前端采用HTML、CSS、BootStrap等技术搭建界面结构,后端采用Django作为逻辑处理,通过Ajax等技术实现数据交互通信。在图书推荐方面使用经典的协同过滤算法作为推荐算法模块。主要功能有: 角色分为普通用户和管理员 普通用户 ......
算法 管理系统 界面 网页 Python