摘要:
AC自动机 这是一个处理字符串的算法,主要是处理有若干模式串,一个文本串的时候我们如何高效 $O(\sum |S|+|S'|)$ 的匹配的问题。 我们考虑将每一个模式串建在一棵 trie 树上。首先,我们 trie 上的每一个节点都代表这从 trie 的根走下来的一个字符串。我们定义 fail 数组 阅读全文
摘要:
我们从特殊一点的思考,比如说我们现在有一个长度为 $n$ 的东西,我们的价值是 $F_n$,这个价值我们是不是可以等价成个数,因为在上面的骨牌问题中,每个骨牌都是有不一样的颜色的。所以我们可以把他等价成上面一种情况,所以这样的话就很好办了。 那么骨牌的生成函数就是 $\displaystyle{\f 阅读全文
摘要:
类型:骨牌问题 这是一类题目。正如我们已经会了的斐波那契数列的生成函数一样,我们有方程式 $f_i=f_{i-1}+f_{i-2}$ 这个递推式,我们还有一种理解这个事情的方法,就是对于一个 $1n$ 的方格,我们用 $12$ 以及 $1*1$ 的无限个小块如何堆叠的方案数。 我们考虑将其拓展,对于 阅读全文
摘要:
这是唯一一个一节课听得半懂的知识点。 这个定理主要处理一些 本质不同 的问题。 我们通过一个例子来从头到尾的讲这个定理。 现有一 $n$ 个顶点的正多边形,对每个顶点选择 $k$ 种颜色之一染色,如果两种方案可以通过刚体变换使之对应点完全重合,那么认为这两种方案是本质相同的. 求本质不同的染色方案数 阅读全文
摘要:
约定 我们给出一些约定: $[n]$ 表示集合 ${1,2,3,4,5,...,n}$。 知识点 加法原理、乘法原理 这些是最基本的知识点了。 加法原理 $A_1,A_2,A_3,A_{...},A_n$ 均为集合,且满足 $A_i\cap A_j=\varnothing ,\forall i,j 阅读全文
摘要:
相信题意大家已经都了解了,我们思考一下如何解决这道题目。 首先数据范围是 $n\leq12$,在这个范围内能做的估计是指数级的复杂度。 因为 $m$ 很大,我们要尝试能不能把他弄掉。 我们只可能用到列里最大值最大的前 $n$ 个列 证明: 假设我们用到了最大值最第 $n+1$ 大的那个列。假如说他用 阅读全文
摘要:
背包好题,也包含了一种思想。 题意 有若干物品,每个物品有两个属性 $a_i$ , $b_i$ ,表示这个物品的费用 $a_i$ 以及如果选择了这个物品我可以白嫖 $b_i$ 个物品。最小的费用数。 主要思想 如果我们正向考虑,似乎十分难想到一个贪心策略。就算我现在知道了我们现在有选择 $j$ 个物 阅读全文
摘要:
背包问题,一般是将东西放入背包,如果我想要把一个东西删除去背包中,这个操作怎么转移呢? 例题 感觉可以加上模板标签了。 看了题解的思路: 首先把所有东西合起来的情况肯定十分好求,现在我们就是要求去掉一个的情况。 首先我们先看一下如果最简单的背包怎么写 dp[0]=1; for(int i=1;i<= 阅读全文
摘要:
好经典的题目,记得之前用贪心做过。 书的复制 题目背景 大多数人的错误原因:尽可能让前面的人少抄写,如果前几个人可以不写则不写,对应的人输出 0 0 。 不过,已经修改数据,保证每个人都有活可干。 题目描述 现在要把 $m$ 本有顺序的书分给 $k$ 个人复制(抄写),每一个人的抄写速度都一样,一本 阅读全文