摘要: [笔记]KMP算法 用途,应用的领域 kmp算法主要用于字符串的匹配,即给定一个模式串和一个文本串,让你找出模式串在文本串中出现的位置或次数等等,简而言之就是一种进行字符串比对的优秀算法. 建议先看看文末的VersionII 算法过程&原理 ​ 1.首先我们考虑用暴力的方法比配两个字符串,一个是AB 阅读全文
posted @ 2020-08-24 16:33 czyczy 阅读(148) 评论(3) 推荐(2) 编辑
摘要: 标题党QWQ 阅读全文
posted @ 2020-08-23 21:17 czyczy 阅读(264) 评论(1) 推荐(0) 编辑
摘要: [题解] [笔记] 洛谷-线性基 & 线性基学习笔记 原题链 算法简介 基本概念 ​ 1.向量:在信息学中,向量通常用来表示一个点的集合,在坐标系(不一定是二维)中可以表示一个点的坐标,形如. ​ 2.基:举个栗子来说明,对于一个平面直角坐标系,我们规定沿$x$轴正方向长度为$1$的向量为$i-ha 阅读全文
posted @ 2020-08-23 21:13 czyczy 阅读(243) 评论(1) 推荐(3) 编辑
该文被密码保护。 阅读全文
posted @ 2020-08-23 16:55 czyczy 阅读(2) 评论(0) 推荐(0) 编辑
摘要: [题解] [笔记] 洛谷-P2357守墓人 & 分块学习笔记 原题链 巨佬儿子的博客 分块算法 ​ 分块算法其实是一种暴力算法,主要用于处理序列问题,一般而言是将原序列(长度为你])划分为大小√n的块,但存在序列不能完全被刚好分完的情况,因此在序列的末尾可能存在大小不足√n的散块.对于两边的散块,每 阅读全文
posted @ 2020-08-23 16:42 czyczy 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-08-23 14:57 czyczy 阅读(44) 评论(0) 推荐(0) 编辑
摘要: manacher算法 原题链 算法原理 一 首先规定: 1.maxx为已经找过的符合回文串条件的最右边的坐标的右边一位 → 举个例子:ababc 当查找到子串aba时对称轴为b所在的坐标, 此时maxx为原串中第二个b的位置,即为上文所说符合回文串条件的最右边的坐标的右边一位; 2.i为以i为对称轴 阅读全文
posted @ 2020-08-22 20:12 czyczy 阅读(126) 评论(1) 推荐(0) 编辑
摘要: [笔记]二分图最大匹配--匈牙利算法 原题链 算法: 0.首先有一些概念: ​ ①.二分图:设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。( 阅读全文
posted @ 2020-08-22 17:04 czyczy 阅读(127) 评论(1) 推荐(0) 编辑
摘要: [笔记]倍增求LCA 原题链 算法描述 LCA是指两个点的最近公共祖先. 在程序中设f[x][k]表示x的 2^k 辈祖先,即从x向上(根节点)走 2^k 步所到达的节点,如果向上走到的节点不存在则令f[x][k] = 0,并且f[x][0]为x节点的父节点,因为 2^0 = 1,且任意一个节点向上 阅读全文
posted @ 2020-08-22 16:40 czyczy 阅读(186) 评论(0) 推荐(0) 编辑
摘要: [题解]洛谷P3243菜肴制作 原题链 算法:拓扑排序 过程: 首先,一定存在一个菜是不依赖于别的菜的,即不存在一个菜要求在这个菜之前坐,因此我们可以先做这个菜.如果我们将题中的关系转化为一个有向图(,即如果一个菜要在另一个菜之前做,则连一条从先做菜指向后做菜的边)那么我们第一个做的菜一定是入度为0 阅读全文
posted @ 2020-08-22 16:02 czyczy 阅读(128) 评论(1) 推荐(1) 编辑