摘要:
这里指OI里的线性基,用来解决与异或相关的问题。 线性基是一个整数集合对应的一个集合,其异或值域与原序列完全相同(不多不少)。所谓异或值域,就是在集合中选择任意子集的异或和的所有取值。这样一来,就异或和意义下,这两个集合就完全等效了。 异或的性质 交换律:$a \oplus b = b \oplus 阅读全文
摘要:
一个字符串S对应的后缀自动机(SAM)是一个最小的确定有限状态自动机(DFA),接受且只接受S的后缀。可以理解为能够在SAM上找到该串的所有子串,且使得SAM状态数最少。 阅读全文
摘要:
后缀数组倍增法构造/LCP的求法/应用 阅读全文
摘要:
字符串匹配的基本方法就是,逐位移动模式串,检查当前位置是否匹配。似乎只有这样才能够不遗漏地检查所有可能匹配上的情况。容易发现,这样做的复杂度是$O(n$ KMP 匹配 匹配时,$i$指针指向文本串当前位,$j$指针指向模式串当前位 如果当前位的文本串与模式串匹配成功,即$T_i = P_j$,两指针 阅读全文
摘要:
线段树,权值线段树,主席树,可持久化数组,扫描线,线段树合并,维护贡献 阅读全文
摘要:
Codeforces 686 D. Kay and Snowflake 要求$O(n)$求出以每个节点为根的重心。 考虑对于一个根节点$u$,其重心一定在【各个子树的重心到$u$】这条链上。这样就能够$O(n)$推出来了。证明起来难证易忘。不如记住树的重心的几条奇妙性质: 1. 以重心为根,各子树大 阅读全文
摘要:
莫队用来离线解决区间询问问题。 一、不带修莫队 考虑利用分块的方法对所有询问的区间按照一定的顺序来回答,而不是完全按照输入顺序在线回答,从而使历史信息得到充分利用。这就是莫队相较于暴力要优的地方。 对$[1,n]$进行分块,每块大小为$B$。按照以下规则来给询问排序:对于两个区间,第一关键字是左端点 阅读全文
摘要:
一、最短路 利用邻接表存图,无向图边的数量应当开$2m$。常常会开错,开成$2n$或是$m$ 1. Dijkstra Dijkstra基于贪心思想。 两个集合。$S$中的点是已经确定了到源点的最短路的,$V-S$是未知的。此时,$V-S$集合中的$d$全部都是由$S$得来的,换句话说,这些d值对应的 阅读全文
摘要:
期望=Σ概率*权值 1. Codeforces 148-D 考虑用$f[i][j]$表示princess进行操作时[还剩有i只w,j只b]这一状态的存在概率。这一概率要存在,之前draw out的一定是b,跳出的可能是w可能是b。$ans=\sum\limits f[i][j]*i/(i+j)$ 需 阅读全文
摘要:
整天做DP太累了……下午重新看了下有关单调栈的内容 单调栈用途就在于求一个数列中,某点左侧第一个比他大(或小)的元素位置。 假设维护一个单调上升的栈。如果入栈元素小于栈顶那么就要开始pop。而pop掉的元素一定全都大于这个入栈元素。单调栈内的两个相邻元素a,b如果在原序列中不是相邻的,则意味着b的出 阅读全文
摘要:
用动态规划算贡献 阅读全文
摘要:
DAG建模基础;DP与DAG的关系 阅读全文
摘要:
贪心难题;总结贪心问题的一般思路 传送门:$>here<$ 题意 田忌和齐王各有n匹马,赛马时一一对应。赢+200,输-200,平+0. 问最多多少钱? 数据范围:$n \leq 2000$ Solution 如果没有平局 将齐王和田忌的马都按照速度从大到小排序。然后同时从两方最大的开始考虑。 设齐 阅读全文
摘要:
同时考验对状压DP和数位DP的理解 阅读全文
摘要:
一道考验思维的好题,顺便总结求第k大问题的常规思路; 阅读全文
摘要:
一道不难的DP题,主要是为了总结这类最优化题的思路;同时还学到了一个新操作 阅读全文
摘要:
Codeforces 1166C A Tale of Two Lands 【绝对值问题】给定一个数列,求其中满足$min{|x+y|,|x-y|} \leq min{|x|,|y|}且max{|x|,|y|} \leq max{|x+y|,|x-y|}$的数对$(x,y)$个数。 $x,y$的符号都 阅读全文
摘要:
给出$n$个点,求出这$n$个点对应的多项式中代入$k$的结果。 很显然这个多项式是唯一确定的,因为我们待定系数,然后得到一个$n$元一次方程。解完就得到了系数表达式。 但是我们不需要知道各项系数,只需要知道代入$k$的结果就好了。因此:$$\sum\limits_{0 \leq i < n}y_i 阅读全文
摘要:
第一道FFT例题,代码和脑子都一片混乱,感觉难想,细节很多 传送门:$>here<$ 题意 求$E_k=\sum\limits_{i<k}\dfrac{q_i}{(i-k)^2}-\sum\limits_{i>k}\dfrac{q_i}{(i-k)^2}$ 数据范围:$n \leq 1e5$ Sol 阅读全文
摘要:
FFT即快速傅里叶变换,离散傅里叶变换及其逆变换的快速算法。在OI中用来优化多项式乘法。 本文主要目的是便于自己整理、复习 FFT的算法思路 已知两个多项式的系数表达式,要求其卷积的系数表达式。 卷积:$$c_i = \sum\limits_{j=0}^{i}a_jb_{i-j}$$ 先将两个多项式 阅读全文
摘要:
觉得这篇文章写得特别劲,插图非常便于理解。 目的:求字符串中的最长回文子串。 算法思想 考虑维护一个数组$r[i]$代表回文半径。回文半径的定义为:对于一个以$i$为回文中心的奇数回文子串,设其为闭区间$[L,R]$,则半径$r=R-i+1$。 $Manacher$算法利用一个类似$DP$的方法来求 阅读全文
摘要:
话说天下大事,就像fhq treap —— 分久必合,合久必分 简单讲一讲。非旋treap主要依靠分裂和合并来实现操作。(递归,不维护fa不维护cnt) 合并的前提是两棵树的权值满足一边的最大的比另一边最小的还小。因此时合并时只需要维护键值的堆性质即可。这样每一次比较根节点,如果x比y小那么y直接接 阅读全文
摘要:
作为一个蒟蒻要去考tg了,心理还是有点慌的。初赛70,心惊胆战很长时间,后来降分到68了,居然卡线了(震惊……) $Day \ 0$ 今天请假在家复习了,打了几个数据结构模板。希望明天考场能++rp啊! 由于就在学军紫金港考,所以没有必要住旅馆了,每天过去不到40min的。 $Day \ 1$ 早上 阅读全文