随笔分类 - 学习笔记
摘要:对OI WIKI进行了抄写删减 定义 字符串 的 SAM 是一个接受 的所有后缀的最小 DFA(确定性有限自动机或确定性有限状态自动机)。 SAM是一张有向无环图。节点称作状态,边称作转移 图存在一个源点 ,称作初始状态(即下图红点),其他节点均可从
阅读全文
摘要:终于刷完网络流后准备继续做sa,发现自己忘完了,于是来写个博客。 应用 用 将字符串后缀排序,以找到优美的性质 概念 两个数组: 和 表示将字符串后缀排序后,排名为 的后缀的开头字母在原串的位置 表示后缀 的
阅读全文
摘要:准备 #include<bits/stdc++.h> using namespace std; const double eps=1e-6; int n,m; double x,y; struct point{//vector double x,y; }; 基本运算 叉积 ab向量围成的平行四边形面
阅读全文
摘要:应用 O(n)求以每个节点为中心的回文串长度 原理 1、对S=“hshbvbhshb”,每个字符之间插入“#”,以便统一奇偶长度回文串。并在最前插入"^",左右扩展边界时才不会访问到-1,右边不用是因为自带"\0"。得到T="^#h#s#h#b#v#b#h#s#h#b#" 2、定义p[i]为T中i位
阅读全文
摘要:1.调换搜索顺序 2.调换枚举顺序 3.快读快输 4.位运算 5.循环展开 6.register 7.long long只在必要开 8.函数里在if里return 9.火车头 %:pragma GCC optimize(3) %:pragma GCC optimize("Ofast") %:prag
阅读全文
摘要:题面 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得它们的交集的元素个数为K,求取法的方案数,答案模1000000007。(是质数喔~) 思路 很容易想到先固定k个元素做交集,剩下n-k进行挑选,这个集合的所有子集2n-k个表示包含这k个元
阅读全文
摘要:应用:求字符串s在文本T中出现的次数与位置 概念: 后缀 从某个位置 i 开始到整个串末尾结束的一个特殊子串。字符串 S 的从 i 开头的后缀表示为 Suffix(S, i),也就是 Suffix(S, i) = S[i…|S|-1]。 真后缀 除了 S 本身的 S 的后缀 前缀 从串首开始到某个位
阅读全文
摘要:首先,应用为解决一次n元方程组 1、将系数与答案存入矩形,下图即为转换前后 2、消元就要消到对角线系数为1,其他都为0,此时最右列为此行此列未知数的解 清楚思路,开始操作 1、循环到i行,从此行向下找i列不为0的一行,并与他交换,确保i行i列不为0才能除到1。当然若找不到的话,即有一列全为0,此未知
阅读全文