
字符串
文章平均质量分 73
大蒟蒻syk
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[UVA11732] strcmp() Anyone? && 字符串
一个计数问题构造trie解决 此处val域统计的是出现次数 由于空间紧张需要使用左儿子右兄弟表示方法 #include #include #include #include #define SF scanf #define PF printf #define max(a, b) ((a) < (b) ? (b) : (a)) using namespace std; typedef lon原创 2015-01-13 22:56:37 · 438 阅读 · 0 评论 -
[UVALive3942] Remember the Word && 字符串
Trie树上的DP 讲解白树有 #include #include #include #include #define SF scanf #define PF printf #define max(a, b) ((a) < (b) ? (b) : (a)) using namespace std; typedef long long LL; const int MAXN = 300000; co原创 2015-01-13 22:54:56 · 435 阅读 · 0 评论 -
[ZOJ2715]Insecure in Prague && 枚举
枚举s, t, i, j 暴力检验 #include #include #include #include #include #define SF scanf #define PF printf using namespace std; typedef long long LL; const int MAXN = 40; char s[MAXN+10], t[MAXN原创 2015-03-28 20:55:22 · 519 阅读 · 0 评论 -
[BZOJ3676] [Apio2014]回文串 && Manacher + Hash
看到回文串自然会想到manacher 问题在于怎么统计回文串出现的次数 传说有两种做法 一种是Hash 另一种是 后缀数组 这里我用的Hash 对于一个回文字符串A 我们由去掉它两端字符的回文串A'连一条边 这样就形成了一个树形结构 然后把每一个点为中心的最长回文串 (注意 一定是最长回文串 否则会加重复) 的出现次数加1 这样每一个回文串出现的次数就等于以它为根的子树中串出现次数的总和 d原创 2015-04-01 17:47:34 · 919 阅读 · 4 评论 -
[POJ3415]Common Substrings && 后缀数组+单调栈
被这个东西狂虐一上午T_T 果然像我这样的人最好早点滚粗 果然像我这样的人最好早点滚粗 果然像我这样的人最好早点滚粗 (因为很重要所以要说三遍) 首先我们要想办法求一个串的k长度重复字串 然后我们就会想到用后缀数组来求 那么这个公共字串问题就可以转化为分别求 s1, s2, s1+s2的k重复字串数 构造完后缀数组和height数组(偷懒的我简称h数组)后 可以发现 假设原创 2015-04-01 13:15:23 · 548 阅读 · 0 评论 -
[BZOJ3530] [Sdoi2014]数数 && AC自动机+dp
首先要建立AC自动机 然后模板串可能前面出现0 处理起来可能会有点麻烦 所以我们干脆直接把模板串倒着插入 然后在Trie中进行dp 用d[i][j][0] 表示在第i个节点 枚举到第j位 且第j位没有超过N的方案数(d[i][j][1]则为超过了 至于为什么要统计超过了的数的个数 是因为我们是从低位开始开始确定这个数的 所以之后的位数如果小于N 那么整体是不会超过N的) #include #原创 2015-03-31 21:27:40 · 1128 阅读 · 0 评论