lambda QAQ

fmap :: (q -> a) -> f q -> f a

Hdu 4416 Good Article Good sentence

给出一个的字符串A,|A|≤100,000A,|A| \le 100,000,nn个字符串,分别为Bi,∑i=1n|Bi|≤100,000B_i,\sum\limits_{i=1}^n|B_i| \le 100,000,求AA中没有在任何一个BiB_i中出现的字串的个数。对AA建立SAMSAM,将...

2016-10-25 22:05:24

阅读数:117

评论数:0

bzoj 3238 差异

给出一个长n的字符集为小写字母的字符串,求∑1≤i<j≤nlen(Suffixi)+len(Suffixj)−2×len(lcp(Suffixi,Suffixj))\sum \limits _{1 \le i < j \le n} len(Suffix_i) + len(Suffix_...

2016-09-07 19:35:41

阅读数:269

评论数:0

SPOJ NSUBSTR

给出一个长25×10425 \times 10 ^ 4 的字符串,定义f(x)f(x)为所有的长xx的子串中出现次数最多的那个的出现次数,求f(1),f(2)...f(strlen)f(1),f(2)...f(strlen)首先对输入的字符串建立SAMSAM然后对于每一个节点所对应的[min,ma...

2016-09-06 09:42:41

阅读数:127

评论数:0

Hdu 5853 Jong Hyok and String

先给出n个模式串,然后有m个询问,每次询问对于一个字符串,和他rightright集相同的字符串的个数既然都rightright集了,显然是一个SAMSAM的题对多串建立SAMSAM然后将询问的字符串放在SAMSAM上runrun就好了要是转移到了nullnull说明答案是0,否则答案就是len[...

2016-09-03 10:17:31

阅读数:277

评论数:0

SPOJ SUBLEX

求字典序第k大字串SAM的节点和转移所构成的是一个DAG,并且SAM从起点开始的每一条路径都是模式串的一个字串,根据这两个性质在SAM上dfs即可#include<bits/stdc++.h> using namespace std;const int maxn = 91234*2 ,...

2016-09-02 14:50:50

阅读数:158

评论数:0

bzoj 4516 生成魔咒

因为SAM增量法构造的特点,所以每一次增加节点计算就可以了因为SAM的转移是线性的,所以开个map也是兹辞的#include<bits/stdc++.h> using namespace std;const int maxn = 112345;struct Node{ int ...

2016-09-02 14:50:03

阅读数:171

评论数:0

SPOJ LCS

求两个串的最长公共字串后缀自动机模板题#include<bits/stdc++.h> using namespace std;const int maxn = 251234,mlen = 26; int toid(char c){ return c - 'a'; }struct Nod...

2016-09-02 14:49:32

阅读数:162

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭