02 2020 档案
摘要:codeforces 1272 F. Two Bracket Sequences(三维dp + bfs) 题目大意 输入两个括号序列 s,t(不一定合法),你需要构造一个尽可能短的合法括号序列使得s,t 都是这个序列的子序列(子序列意味着不用连续) 解题思路 表示匹配到 的第 个字符,匹配到 的第
阅读全文
摘要:「网络流24题」餐巾计划问题 "洛谷 1251 餐巾计划问题" 题目描述 Description 一个餐厅在相继的 N 天里,每天需用的餐巾数不尽相同。假设第 i 天需要 ri块餐巾(i=1,2,…,N)。餐厅可以购买新的餐巾,每块餐巾的费用为 p 分;或者把旧餐巾送到快洗部,洗一块需 m 天,其费
阅读全文
摘要:数组模拟栈和队列 不开$O_2$优化时,数组效率远高于STL,如果开$O_2$效率则差不多 栈 普通队列 循环队列+双端队列
阅读全文
摘要:AC自动机 Ac自动机=Trie+Kmp Kmp处理的是某个单词在文章中是否出现,出现次数,出现位置等问题,Ac自动机处理的是一堆单词在文章中是否出现,出现次数,出现位置等问题。 Ac自动机通过将一堆单词存储在Trie树中,并且对树上的每个节点建立失配指针 (类似KMP对单词的每个字母建立失配指针)
阅读全文
摘要:伸展树 Splay 维基百科上称为伸展树,但是国内好像一般叫平衡树,是众多平衡树中比较优秀的一种。 平衡树左旋右旋不会影响中序遍历顺序。 一棵平衡树的中序遍历顺序是值递增排序的,相当于从小到大到大排了一次序。 平衡树的作用: 平衡树其实就是一棵二叉搜索树,set和map都是平衡树实现。 一棵二叉搜索
阅读全文
摘要:[Acwing 256] 最大异或和 (可持续化Trie) 可持久化前提:本身的拓扑结构不变(也就是结构不变) 每个版本最多只开辟一条链的空间 题意: 给定一个非整数序列a,初始长度为N, 支持两种操作: 1. ”A x”:添加操作,表示在序列末尾添加一个数 x,序列的长度 N 增大1。 2. ”Q
阅读全文
摘要:欧拉路径和欧拉回路 [toc] 欧拉路径:从源点出发,经过所有的边一次(点可以重复通过但是边只能走过一次) 欧拉回路:从源点出发,经过所有的边一次,最后回到源点(点可以重复通过但是边只能走过一次) 1. 对于无向图,所有边都是连通的。 (1)存在欧拉路径的充分必要条件:度数为奇数的点只能有0或2个。
阅读全文
摘要:二分图 最大独立集 最大独立集:选出最多的点,使得选出的点之间没有边 在二分图中: 求最大独立集 (n m个点) $\Leftrightarrow$去掉最少的点,将所有的边都破坏掉(m个点) $\Leftrightarrow$找最小点覆盖(m个点) $\Leftrightarrow$找最大匹配(m个
阅读全文
摘要:二分图 最小点覆盖 定理: 最大匹配含的边数=最小点覆盖的点数=总点数 最大独立集=总点数 最小路径覆盖 匹配:任意两条边没有公共端点的边的集合称为图的一组匹配 最大匹配数:在二分图中,包含边数最多的一组匹配 最小点覆盖:在二分图中,求一个最小的点集S,使得图中任意一条边都至少有一个端点属于S "A
阅读全文
摘要:无向图的双连通分量(待更新) [toc] 边的双连通分量 1. 边的双连通分量e bcc: 极大 (不存在包含该连通快,且点数比该连通块多的另外一个连通块)的不含桥的连通块 桥:指一条边,如果删除这条边,整个图会变得不连通。 充要条件:任意一条边都包含在至少一个简单环中。 性质: 不管删掉哪条边,整
阅读全文
摘要:有向图强连通分量 Tarjan算法: 强连通分量的发现其实是从尾部开始的,像下图,从1开始遍历,遍历到2的时候,再遍历到3,3没有出边,此时发现 ,执行 循环,将3自己构成的强连通分量编号为1,再将3弹出栈,此时栈中只剩下1和2。递归从3返回到2,不满足 ,此时返回到1,满足 ,将1所在强连通分量编
阅读全文
摘要:最近公共祖先lca [toc] 在线 倍增法:预处理$O(nlogn)$,查询$O(logn)$ $fa[i][j]$表示从$i$开始,向上走$2^j$步所能走到的节点。$0 include using namespace std; const int N=40010,M=N 2; int n,m;
阅读全文

浙公网安备 33010602011771号