
数据结构
castomere
与君论心握君手,荣辱于余亦何有
展开
-
线段树 维护区间 覆盖 , 区间异或 ‘^' (待续)
线段树维护区间 覆盖:现在有需求:有一个长度为N的序列 (* N只要符合我们的线段树复杂度都可以进行维护,而只要能维护出来,基本上都是可用线段树解决)要对区间进行标记,标记M段 区间 , 区间可以产生覆盖求 任意区间内 被标记的数量直接维护区间标记是O(N)的复杂度 , 使用线段树花费O(logN) ,则应用到这种类型的结构的题可过。some 用途列举:...原创 2019-05-15 11:17:39 · 955 阅读 · 1 评论 -
tarjan算法(强连通分量&&缩点)
算法实现在dfs基础上,出现重复的 在栈中的 点,我们就将它进行一次缩点就是low[] 数组维护的当前这个强联通分量(形成环的部分)的 最小dfs序的 cnt缩点之后将这些 所有被缩的点 弹出栈时空复杂度O(N + M)代码#include <cstdio>#include <cstdlib>#include <cstring&...原创 2019-08-23 11:47:45 · 134 阅读 · 0 评论 -
主席树 && 带修主席树 (模板 && 代码解释)
先贴模板 后代码解释线上U盘,哈哈哈哈静态主席树:#include <cstdio>#include <cstdlib>#include <cstring>#include <string>#include <iostream>#include <cmath>#include <map&g...原创 2019-08-24 17:35:41 · 306 阅读 · 0 评论 -
网络流算法//最大流(洛谷3376)//EK算法//dinic算法//最小(大)费用最大流(待续)
目录最大流流算法(EK算法)时间复杂度 O(V*(E^2))Dinic算法时间复杂度O((V ^ 2) * E)在洛谷题解中看到了一句很有启发的话:网络流善于解决各种有要求的匹配联想到题目是匹配问题,且满足网络流要求的数据范围,可以尝试网络流V是点的数目,E是边的数目最大流流算法(EK算法)时间复杂度 O(V*(E^2))定义:我们有...原创 2019-08-08 20:57:28 · 485 阅读 · 0 评论 -
二分图匹配
匈牙利算法求最大匹配,ans记录了匹配了多少对想象二分图每成功一对,把匹配成功的边 叫 匹配边,反之则有未匹配边。每个点只能用一次,所以用used[ ] 数组标记,因为左边的一个点 只能和 一个右边的匹配点 配对。因为我们要让找一条链,让它是从 起点开始 交替出现 未使用过的边(第一条是未使用的)和 使用过的边,如果能拓展到新点,我们发现 把未使用过的边变成 使用过的边...原创 2019-08-09 15:15:13 · 95 阅读 · 0 评论 -
KMP算法
对于KMP一直觉得不是很高级,也就没有详细的总结和加深记忆。最近比赛碰见个拓展KMP才发现这个漏洞,今天就补上。首先温习一遍KMP:首先我们有一个 文本串 S , 一个匹配串 T,在S中找T串第一次匹配成功的位置KMP最重要的是有一个Next数组:Next[j] 表示什么呢?表示 在匹配串T中,我们在 j 位置,不包含 T[j] 本身的字串T[ 0 ~ j-1 ],它的最长 公...原创 2019-08-07 01:20:22 · 93 阅读 · 0 评论 -
马拉车算法 && 回文树(回文自动机)
Manacher部分:下标 i :0 是$ , 原字符串插入#字符变为 奇数长度,结尾位置添加@ 维持奇数字符个数arr字符串:经过处理的字符串 , eg -> fabbac “$ # f # a # b # b # a # c # @”辅助数组p:p[i] 表示 arr字符串 在 i 位置的最长回文半径两个关系:最长回文串(是原串"fabbac"的最长回文串长度...原创 2019-08-22 03:05:45 · 352 阅读 · 1 评论 -
支配树
首先我们要知道什么是支配树首先明确一个概念,在图中 求支配树先要 图中有 一个源点,即规定一个源点。图可以有环,边可以有向和无向。如果图是有向无环图,那么可以在它的DAG上求支配树。支配点:一个图,有一个源点。我们从源点出发,需要到达一个点X,如果删除某个点Y,我们就不能到达X , 则Y为X的支配点最近支配点:在树形图中最近支配点 就是他的父亲节点,类比推理到图中同理。...原创 2019-08-06 20:37:37 · 246 阅读 · 0 评论 -
后缀系列——后缀自动机
后缀自动机:首先在理解kmp , ac自动机 , 后缀数组的基础上 , 我们再讨论后缀自动机http://hihocoder.com/problemset/problem/1441真的是太经典了,好好看看绝对理解。下图字符串 S="aabbabd"性质:字符串的后缀都能到 终结态 S的所有子串都能到达一个合法态(从某个节点转移到另一个节点) 不是S子串的 字符串 最...原创 2019-07-26 16:15:54 · 705 阅读 · 0 评论 -
"trie"(字典树) 和 "异或" 的一些性质
目录异或性质:没有的性质:构造完二进制数 后 查找 数字 x 的最大异或:更进一步的 CodeForces - 1055F Tree and XOR(HDU6625 three arrays ————01 trie + 贪心)异或性质:可以求前缀和, 我们想知道a[L] ^ a[L+1] ^ ... ^ a[R] 可以用一个 xor数组记录 , xor[i] = ...原创 2019-08-04 13:08:20 · 1041 阅读 · 6 评论 -
AC自动机 讲解 && 模板
先要了解 字符串多模匹配 到底能做什么首先 先给你q 个查询串 ,再给你一个主串s (或者很多个不同主串)可以做什么?q个查询串 有几个 在主串里 匹配成功了 可以记个cnt统计(查询串不重复,重复的要计算数量的话,要加个sum记录 重复查询串 出现了几次) 还可以知道 匹配成功 的查询串是哪些(偷懒还用 sum标 它是第几个查询串)字典树就不用说了吧,建字典树还是...原创 2019-01-30 01:44:38 · 117 阅读 · 0 评论 -
莫队算法(待续)
发现了区间暴力的新世界,真是开心又快乐简单离线莫队莫队算法通过分块,将一个大小为 N 的区间 分为 sqrt(N)块 , 每块内部 就有了 sqrt(N)个数字因为我们能轻松的得到 这样的转移 [ L , R ] ==> [ L- 1 , R ] and[ L , R ] ==> [ L + 1 , R ] and [ L , R - 1 ] and [ L...原创 2019-06-03 20:26:09 · 158 阅读 · 1 评论 -
2017-2018 ACM-ICPC Latin American Regional Programming Contest I题(树链剖分>边权转点权)
题意:给N个点,M条边的图,M >= N-1 , 每次给个特殊边 , 问必须用这个边的最小生成树 的边权和(两个点间没有重边)树链剖分裸题 , 边权转点权在DFS两边的过程中 , 把边权 转到 它对应子节点 的点上。树链剖分维护 U , V 这两个点中间 边权最大值注意WA点 , 我们用map 标记一条边 的时候 , U , V中间用个特殊符号隔开 , 不然会出现...原创 2019-06-01 19:14:23 · 430 阅读 · 0 评论 -
次短路(两种方式) && 第K短路
次短路算法:有两种比较简单实现次短路的思想方法一:用 dijkstra 算法 从起点开始 同时维护 【最短路数组(dis1[ ])】 和 【次短路 数组 (dis2[ ])】 方法二:还是用到dijkstra 算法 分别用两个 dis1[ ] 数组 和 dis2[ ] 数组 分别 维护 从起点 和 从终点开始 的 最短路 ——然后枚举 所有边 , 将边的两个端点 连上 起点和终点 看是...原创 2019-05-17 21:03:06 · 4704 阅读 · 3 评论 -
树链剖分
时间复杂度:预处理O(n + NlogN) , 修改和查询O(logN)树链剖分原理:第一遍 dfs , 求得 所有节点的 深度 dep[ ] , 记录每个节点的父亲节点 fa[ ] , 记录每个节点所代表的子树的大小【包括节点本身】 第二遍 dfs , 记录 每个节点的 重链 , 记下当前节点 x 所在的链 的 链头top[x] , 每个节点在dfs序中的pos[x] , pos...原创 2019-05-16 12:29:30 · 266 阅读 · 0 评论 -
后缀系列——后缀数组
后缀字符串有两个主要算法: 其一___后缀数组 ; 其二___后缀自动机后缀数组——复杂度O( n * log(n) )明确定义:前提条件:一个长度为 n 的字符串S后缀:当前所说的后缀 ,它的意思是字符串S ,以每个下标开始i 到 字符串结束 (即 [Si , Si+1 , ... ,Sn]),总共有n+1个字符串,因为包括 "" 空字符串后缀数组:就是将上面的n+1个字...原创 2019-05-11 21:16:38 · 336 阅读 · 0 评论 -
线性基
线性基性质:一个数组集合中,一些元素相互异或 能得到原数组中的 任意元素线性基的应用:一个数组中,寻找最大异或和 or 最小异或和 一个数组中,第K小异或和 看一个数字是否能被线性基 异或 得到 [L , R] 区间内,最大异或和线性基应用的对应解法最大异或和 第K小异或和 /*引自————https://blog.youkuaiyun.com/Jasmineaha/artic...原创 2019-09-17 12:02:19 · 153 阅读 · 0 评论