摘要:
字符串模式匹配(一)——单模匹配(KMP) 单模匹配的常用算法为KMP,多模匹配常用算法为AC自动机。 暴力匹配法(BF, O ( ∣ S ∣ × ∣ T ∣ ) O(|S|\times |T|) O(∣S∣×∣T∣)) 设源串 S S S的匹配指针为 i i i,模式串 T T T的匹配指针为 j 阅读全文
摘要:
线段树 模板题:线段树1-洛谷(代码) 线段树是一种平衡二叉树,其核心思想为二分+分治+懒标记,可在 O ( log 2 n ) O(\log_2n) O(log2n)的复杂度内完成单点修改、区间修改、区间查询等操作。 设原序列长度为 n n n,则每个节点 i d ( 1 ≤ i d ≤ 4 阅读全文
摘要:
字符串基础概念 字符串:简称串,是由字符组成的有限序列。串中所包含的字符个数为串长,串长为0的串为空串。串长与所有对应位置字符都相同的串为相等串,空串一定为相等串。子串、子序列:设从原串 S S S某一位置开始,若以连续顺序取 S S S中若干长度的字符,所组成的新串 S ′ S' S′即为 S S 阅读全文
摘要:
Johnson 本质:SPFA+Dijkstra特点:多源最短路适用对象:允许负权图,不允许负环图(负环:图上边权之和为负的环,负环图无法求解最短路)存储结构:链式前向星核心思想:先使用SPFA/Bellman-Ford计算潜在值,将所有边的权值调整为非负,再对每个顶点使用Dijkstra算法流程: 阅读全文
摘要:
最短路计数 算法流程:在最短路算法中另设置一个 d p dp dp数组用于计数最短路,并将源点的 d p [ S ] = 1 dp[S]=1 dp[S]=1。在松弛操作时: if(dis[V]==dis[U]+W) dp[V]+=dp[U]; if(dis[V]>dis[U]+W){ dis[V]= 阅读全文