上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 58 下一页
摘要: VIII.[SDOI2008]Sandy的卡片 ……有什么意义吗…… 差个分,然后就是IV.[POI2000]公共串的内容了,套个单调队列,$O(n)$解决,假如你用DC3的话。 代码: #include<bits/stdc++.h> using namespace std; int all,n,m 阅读全文
posted @ 2021-03-31 16:58 Troverld 阅读(46) 评论(0) 推荐(0) 编辑
摘要: VII.[HAOI2016]找相同字符 第一道自己做出的SA题祭~~~ 实际上和上一题没啥区别的说…… 我们发现,这题实际上就是对于两个串中所有的后缀求$\operatorname\(之和(因为这两个后缀共有\)\operatorname$个前缀是相同的,即串中有这么多子串是相同的)。 老套路,俩串 阅读全文
posted @ 2021-03-31 16:57 Troverld 阅读(60) 评论(0) 推荐(0) 编辑
摘要: VI.[AHOI2013]差异 \(\sum\limits_{1\leq i<j\leq n}\text{len}(T_i)+\text{len}(T_j)-2\times\text{LCP}(T_i,T_j)\) 这个柿子可以拆成两部分,即 \(\sum\limits_{1\leq i<j\leq 阅读全文
posted @ 2021-03-31 16:55 Troverld 阅读(44) 评论(0) 推荐(0) 编辑
摘要: V.UVA11107 Life Forms 这题同上题类似,只不过把“在全部串中出现”变成了“在超过一半(即$\left\lfloor\dfrac{2}\right\rfloor+1$)个串中出现”。 这题中我的方法是上题中提到的“two-pointers+单调队列”算法。第一遍跑求出所有满足“出现 阅读全文
posted @ 2021-03-31 16:54 Troverld 阅读(48) 评论(0) 推荐(0) 编辑
摘要: IV.[POI2000]公共串 后缀数组如何应对多个串的情况呢? 答案很简单:把所有串都拼起来! 但这又有个问题,拼起来的串不会出现一些错误吗? 没关系,这里就有解决方案了:在相邻的串间插入一个从未出现过的字符。 我们考虑在拼起来的字符串中求出$ht$数组。则仍然考虑二分公共子串长度$ip$,在$h 阅读全文
posted @ 2021-03-31 16:52 Troverld 阅读(62) 评论(0) 推荐(0) 编辑
摘要: III.[USACO06DEC]Milk Patterns G 同上一题思路类似,我们仍然建出后缀数组。 考虑任何出现$k$次的子串,以它们作为前缀的后缀在$sa$数组中一定是连续的——这一点可以从上文中的$\text$直接看出,因为相邻的结果一定大于等于不相邻的结果。 因此我们只需要求出$ht$数 阅读全文
posted @ 2021-03-31 16:49 Troverld 阅读(47) 评论(0) 推荐(0) 编辑
摘要: II.[USACO5.1]乐曲主题Musical Themes 一个显然的思路就是差分,这样子在原数组中差相等,就转为差分数组中子串相同。 我们考虑建出后缀数组。 显然,这个答案可以二分,则我们二分一个长度$ip$。 考虑$ht$数组。我们在所有$ht_i<ip$的地方切一刀,将$ht$数组切成多段 阅读全文
posted @ 2021-03-31 16:48 Troverld 阅读(54) 评论(0) 推荐(0) 编辑
摘要: I.不同子串个数 后缀数组在处理子串问题时往往有奇效,因为后缀的前缀即是子串,而后缀数组正是按照前缀排序的后缀。 回到本题。因为后缀的前缀是子串,则一条后缀与其它所有后缀的LCP的最长长度,即是这条后缀的前缀子串中所有被重复计数的串的数量。 我们掏出求得的$ht$数组。初学SA时大家一定接触过一个重 阅读全文
posted @ 2021-03-31 16:47 Troverld 阅读(254) 评论(0) 推荐(0) 编辑
摘要: Prufer序列是一种神奇的东西,其可以实现无根树与序列间的双射,并且在计数题、DP题、找规律题等等问题中有着不俗的表现。 (另,大部分时候,Prufer及其误拼Purfer、Purfur、Prefer等奇奇怪怪的变体是被混用了的) 首先,一棵 \(n\) 个节点的树的Prufer序列,是一长度为 阅读全文
posted @ 2021-03-31 16:46 Troverld 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 这里是矩阵树定理学习笔记。线性代数基础详见线性代数学习笔记。 矩阵树定理是用来作生成树计数的好东西。其定理主要表述如下: 设 \(\mathbb{G}\) 为一无向图。则其无向无根生成树的数量,可以被如下算法求得: 设矩阵 \(S_1\),其中第 \(i\) 行第 \(j\) 列的数是 \((i,j 阅读全文
posted @ 2021-03-31 16:44 Troverld 阅读(188) 评论(0) 推荐(0) 编辑
上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 58 下一页