蓝书学习
mxYlulu
ACM燃烧我的卡路里
展开
-
割点/桥
对于无向图GGG,如果删除某个点uuu之后,连通分量增加,称uuu为图的关节点或者割顶(割点)。 对于连通图,割顶就是删除之后使得图不再连通的点。 求割顶的方法: 这里我们用到一个定理: 在无向连通图GGG的dfsdfsdfs树中,非根结点uuu是GGG的割顶当且仅当uuu存在一个子结点vvv,使得vvv及其所有后代都没有反向边连接到uuu的祖先。(连接到uuu可以) 定理是显然的(根节点的话必...原创 2019-06-06 19:16:02 · 217 阅读 · 0 评论 -
Trie树_初章
Trie树 LRJLRJLRJ白书字典树学习总结 我们常常用TrieTrieTrie[也叫前缀树]来保存字符串集合。 从根节点到每个单词结点的路径上所有字母连接而成的字符串就是该结点对应的字符串。 根节点标号为0,其余结点编号为从1开始的正整数。 具体来说,用ch[i][j]ch[i][j]ch[i][j]表示结点iii的编号为jjj的子结点。这里我们把编号从0−250-250−25分别对应26...原创 2019-06-30 03:35:24 · 123 阅读 · 0 评论 -
AC自动机初探
AC自动机 AC自动机是kmpkmpkmp和TrieTrieTrie的结合,它处理了单串匹配多模式串的问题。 之所以这么因为它引入了failfailfail指针处理相同后缀的信息,利用TrieTrieTrie处理多模式串的问题。 从Trie的0结点开始往外延伸,对于每个结点都有自己的指针指向自己的后缀。 后缀一定是小于自己的长度的,所以后缀的后缀事先应该是处理好的。 先把所有模式串插入,再求fai...原创 2019-06-30 03:34:47 · 136 阅读 · 0 评论 -
Kmp算法初析
考虑字符串匹配问题。 假设文本是一个长度为nnn的字符串TTT,模板是一个长度为mmm的字符串PPP,且m≤nm≤nm≤n。 寻找匹配点使得T[i]=P[0]....T[i+m−1−1]=P[m−1]T[i]=P[0]....T[i+m-1-1]=P[m-1]T[i]=P[0]....T[i+m−1−1]=P[m−1] 朴素方法:枚举起点,暴力比较,并且一旦不相同就退出。 复杂度:o(mn)o(m...原创 2019-06-30 03:35:18 · 452 阅读 · 0 评论 -
白书:二分图匹配
二分图最大匹配 给出一个二分图,找出一个边数最大的匹配,任意边是没有公共点的。 如果所有点都是匹配点,则其是完美匹配。 增广路算法 未盖点:不与匹配边邻接的点,其他点为匹配点。 从未盖点出发,依次经过非匹配边、匹配边、非匹配边、匹配边…所得到的的路是交替路。 显然等价于 未盖点到匹配点到未盖点… 我们能够确定的是,未盖点连接的一定是匹配点。 如果终点是未盖点,说明是一条增广路,并且非匹配边比匹配边...原创 2019-08-16 01:16:58 · 187 阅读 · 0 评论