后缀自动机
文章平均质量分 80
Flaze_
一只蒟蒻【扑通扑通跪laekov 扑通扑通跪yjqqqaq 扑通扑通跪mhy12345 扑通扑通跪zms_
展开
-
BZOJ 3998 [TJOI2015]弦论【后缀自动机(总结+安利
某天……咸鱼我问学长”学后缀自动机看啥啊““clj的ppt,慢慢看”哦……好啊……clj大爷的ppt的确是学后缀自动机的必备材料23333……然而没图啊QuQ,全程没图根本看不懂啦于是开始翻blog1.这个blog 配合ppt食用,基本能懂了。这个blog的图很多……2.一觉醒来忘记SAM是个啥时,这个blog 是不错的选择===================原创 2016-07-21 23:59:58 · 810 阅读 · 0 评论 -
SPOJ 7258 SUBLEX - Lexicographical Substring Search【SAM,我要报警x
题目大意:求不同字串中第K小的那个反正是弦论简化版x我觉得数据有锅【……反正弦论代码交上去WA了】假设K然而如果无论如何直接算的话…………MD过了【摊手【然后为了这个调了好几天…………还以为自己SAM白学了x】代码↓#include#define MAXN 180057//#define FLAZE_NAIVEusing namespace std; char r原创 2016-08-01 23:46:50 · 444 阅读 · 0 评论 -
POJ 1743 Musical Theme【SAM
POJ……啊 Exciting!【英语能力渣看不懂题的我QwQ】【而且要CE不开心QwQ】#include#include#include#include#define FLAZE_NAIVE#define MAXN 40057#define MAXM 180#define INF 0x3f3f3f3fusing namespace std; int n; struc原创 2016-08-02 17:37:03 · 264 阅读 · 0 评论 -
bzoj 4566: [Haoi2016]找相同字符【SAM上DP
#include#define MAXN 400057using namespace std; char read_s[MAXN];struct t1{ int son[MAXN][26],pre[MAXN],dis[MAXN]; int siz[MAXN]; int lst,cnt; int lth; int p,np,q,nq; void insert(int x){原创 2016-08-11 21:46:52 · 634 阅读 · 0 评论 -
SPOJ 8222 NSUBSTR - Substrings【SAM上DP
试了试把SAM打个包【似乎可以优美一点…………吗?】题目大意……大概就是给一个长度为n的字符串,输出n行,每行一个数,第i行输出长度为i的子串中,出现次数最多的是多少次……反正right集合大小就是出现次数嘛……于是胡搞乱搞#include#define MAXN 500057//#define FIAZE_NAlVEusing namespace std;struct原创 2016-07-30 11:07:34 · 408 阅读 · 0 评论 -
BZOJ 3238: [Ahoi2013]差异【S(后)A(缀)M(树)上DP
啊我又在写SAM……反正题里求的就是反串后缀树上的各关键点之间的路径长度和于是……dp一下像我比较菜……在本题rank1的lxl大爷的指导下……嗯每条边出现的次数就是子树里关键点个数siz[i]*(n-siz[i])……显然…………嗨呀我好菜啊QAQ这都看不出来QAQ看来是要退役了#include//#define Flaze_naive#define MAXN 500原创 2016-09-16 23:56:14 · 369 阅读 · 0 评论 -
后缀自动机总结……
后缀自动机(Suffix Automaton) 【有用qu的资料】1.总之学SAM就去看clj学长的ppt就好,浅yi显lian易meng懂bi。2.以及这个blog……模拟SAM运行的过程十分到位http://www.cnblogs.com/oyking/archive/2013/08/02/3232872.html3.这个blog的总结,大概有一群启发http://原创 2016-08-14 16:21:48 · 1731 阅读 · 0 评论 -
SPOJ 1811 LCS,SPOJ 1812 LCS2【SAM裸题,clj的ppt很清楚
反正clj的ppt都讲了LCS↓#include#define MAXN 500057//#define FLAZE_NAIVEusing namespace std; char read_s[MAXN];struct sam{ int son[MAXN][26],pre[MAXN],dis[MAXN]; int lst,cnt,lth; int p,q,np,nq;原创 2016-07-30 23:22:24 · 391 阅读 · 0 评论