随笔分类 -  算法复习

摘要:回文自动机(PAM)复习PAM(回文自动机) 应用 本质不同回文子串个数:个串的本质不同回文子串个数等于回文树的状态数(排除奇根和偶根两个状态)。 回文子串出现次数:由于回文树的构造过程中,节点本身就是按照拓扑序插入,因此只需要逆序枚举所有状态,将当前状态的出现次数加到其 $fail$ 指针对应状态的出现次数上即可。 构建 阅读全文
posted @ 2022-08-06 12:29 Arashimu 阅读(118) 评论(0) 推荐(0)
摘要:AC自动机复习AC 自动机 应用: 多模式串匹配 构建 将所有模式串构成一个 Trie 树 树上的每个节点代表某一个(或多个)模式串的前缀 每个节点同时有一个失配指针$fail$,指向当前节点所代表的的串可以匹配到的最长前缀,这个前缀还必须是这个串的后缀。类似于$KMP$的$next$数组,但$KMP$的$nex 阅读全文
posted @ 2022-08-06 11:08 Arashimu 阅读(20) 评论(0) 推荐(0)
摘要:SAM复习定义 SAM的定义 字符串$s$的SAM是一个可接受$s$的所有后缀的最小$DFA$(确定的有穷自动机),可以参考编译原理的龙书(强烈推荐) SAM是一张有向无环图。节点被称作状态,边被称作状态之间的转移 存在一个初始状态$t_0$,其他各结点都可以从$t_0$出发到达 没有输出$\epsilon$ 阅读全文
posted @ 2022-07-26 16:20 Arashimu 阅读(170) 评论(0) 推荐(0)
摘要:生成函数的进一步理解生成函数 作用:建立函数和数列之间的联系,通过函数的变换来做数列操作 通常把数列映射为一个多项式的系数,然后通过级数求和的方法将多项式变换到一个函数。 实例: $f(x)=1+x+x^2+x^3+\cdots$,满足$x\lt 1$ 建立了等差数列$<1,1,1,\cdots>$和函数$f(x)=\ 阅读全文
posted @ 2022-07-15 14:00 Arashimu 阅读(160) 评论(0) 推荐(0)
摘要:计算几何技巧基础知识 点积:$\vec{P}\cdot \vec{Q}=|P||Q|cos\theta=x_1x_2+y_1y_2$ 几何意义 $\vec{P}$在$\vec{Q}$上的投影与$\vec{Q}$的长度的乘积。 应用: 判断两个向量是否垂直:$\vec{P}⊥\vec{Q} \iff \vec{P 阅读全文
posted @ 2022-07-03 19:55 Arashimu 阅读(112) 评论(1) 推荐(0)
摘要:字符串算法复习1KMP 应用:定义$nxt[i]$表示字符串$S$的子串$S_0,\cdots,S_i$中的最长公共真前后缀(不包括串本身),即$S_0,\cdots, S_{nxt[i]-1}=S_{i-nxt[i]+1},\cdots,S_i$ 时间复杂度: $O(n)$ 模板 vector<int> KMP( 阅读全文
posted @ 2022-06-28 11:50 Arashimu 阅读(28) 评论(0) 推荐(0)
摘要:斯特林数和分拆数上升幂与下降幂 上升幂:\(x^{\overline{n}}=\prod_{k=0}^{n-1}(x+k)=x(x+1)(x+2)...(x+n-1)\) 下降幂:\(x^{\underline{n}}=\frac{x!}{(x-n)!}=\prod_{k=0}^{n-1}(x-k)\) 第一类斯特 阅读全文
posted @ 2022-04-16 01:22 Arashimu 阅读(204) 评论(0) 推荐(0)
摘要:树上分治树上分治 点分治 $O(nlogn)$ 主要解决有关树上路径统计的问题(其中路径的边权可能需要满足一些条件) **1.基本思想:**点分治的本质其实是将一棵树拆分成许多棵子树处理,并不断进行。 **2.分治点的选择:**树的重心 3.点分治 路径的两个端点在同一个子树内 路径的两个端点不在同一个子树 阅读全文
posted @ 2022-03-23 18:59 Arashimu 阅读(79) 评论(0) 推荐(0)
摘要:多维空间数据结构复习多维空间数据结构复习 CDQ分治 应用 离线解决三维偏序问题,一般做法是先按第一位排序,然后分治排序第二维,排序的过程中用树状数组维护第三维。在排完第一维后,其实问题就相当于求一个二维偏序了。 CDQ分治的分治思想:合并两个子问题,同时考虑左半段内的修改对右半段内的查询产生的影响,就是用左半段的子问 阅读全文
posted @ 2022-03-22 19:55 Arashimu 阅读(64) 评论(0) 推荐(0)
摘要:网络流复习网络流建图总结 1.最小割 模型转化:原题求最小代价,则直接设割掉的是需要选择的。若原题求最大收益,则设割掉的是不选择的,最后用总和减去最小割就是答案。 1.1割的性质 性质1:(不连通)在给定的流网络中,去掉割的边集,则不存在任何一条从源到汇的路径。 性质2:(两类点)在给定的流网络中,任意一个割 阅读全文
posted @ 2022-03-05 12:14 Arashimu 阅读(52) 评论(0) 推荐(0)
摘要:数论进阶数论的一些反演 1.狄利克雷卷积 1.1积性函数 对于数论函数$f$,对任意互质的正整数$p,q$,满足$f(pq)=f(p)f(q)$,则称$f$为积性函数 对于数论函数$f$,对任意的正整数$p,q$,满足$f(pq)=f(p)f(q)$,则称$f$为完全积性函数 积性函数一定满足$f(1)=1 阅读全文
posted @ 2022-03-03 16:52 Arashimu 阅读(60) 评论(0) 推荐(0)
摘要:后缀数组复习后缀数组 数组的定义 一下排名均是在字典序下的排名 \(sa[i]\):排名为$i$的后缀的编号 \(rank[i]\):第$i$个后缀串的排名 有$rank[sa[i]]=i$和$sa[rank[i]]=i$ \(height[i]\):排名为$i$的后缀和排名为$i-1$的后缀的最长公共前缀 模 阅读全文
posted @ 2022-02-20 14:38 Arashimu 阅读(132) 评论(0) 推荐(1)
摘要:吉老师线段树吉如一线段树 \([BZOJ4695 最假女选手]\) 题意: 在刚刚结束的水题嘉年华的压轴节目放水大赛中,$wyy$如愿以偿的得到了最假女选手的奖项。但是作为主办人的 C_SUNSHINE为了证明 $wyy$确实在放水,决定出一道基础题考察$wyy$的姿势水平。给定一个长度为 $N$序列,编号 从 阅读全文
posted @ 2022-02-18 17:44 Arashimu 阅读(190) 评论(0) 推荐(0)
摘要:组合数学进阶小总结组合数学 (一点点进阶) 1.组合数相关公式 下降阶乘幂:\(n^{\underset {\_}{k}}=n\times(n-1)\times...\times (n-k+1)\) \(C_n^k=\frac{n!}{k!(n-k)!}=\frac{n^{\underset {\_}{k}}}{k! 阅读全文
posted @ 2022-02-14 17:46 Arashimu 阅读(420) 评论(1) 推荐(1)
摘要:数位DP总结数位DP 感谢大佬的分享 凌乱之风 模板 注意数位DP只与位数有关,当给出的数的范围很大但知道位数的情况下,可以考虑用数位DP $dfs$写法 int dfs(int pos, int pre, int lead, int limit,其它记录转移状态的参数) { if (!pos) { 边界条件 阅读全文
posted @ 2022-02-10 20:04 Arashimu 阅读(53) 评论(0) 推荐(0)