喵喵喵?

欢迎dalao们对代码提疑问 qq:1224066169

SPOJ 1811 LCS - Longest Common Substring(后缀自动机)

传送门 题意:如题 这题其实就是SAM上跳fail的一个应用,我们一开始匹配的节点就在root,随着扔进去匹配不同的字符,我们不断的跳fail直到匹配到当前的字符,如果跳的图中pos变为-1了,即为跳回root之前的最初的未加入任何字符节点,这则表示失配,更新cnt就好了 如果找到一个p...

2018-10-04 16:59:42

阅读数 61

评论数 0

国庆七天乐_day2 bzoj4566 找相同字符(广义后缀自动机)

传送门   广义后缀自动机实际上就是对于多串而言去建立后缀自动机 这道题写起来很简单,我们对于两个串建立一个后缀自动机,与对于一个串去建立后缀自动机不同的是,对于第二个串,我们在线的构造后缀自动机的时候,需要去判别一下当前这个前缀是否已经为当前后缀自动机上的某一个状态. 在构造后缀自动...

2018-10-02 17:40:18

阅读数 60

评论数 0

国庆七天乐_day2 bzoj3998弦论(后缀自动机)

传送门   题意:求字典序第k小的字串 对于T为0的情况,每个状态我们计数都为1 对于T为1的情况,对于每个状态他的计数应加上他fail树结束节点的个数(实际的对应串的个数) 然后随便DFS就好了   #pragma GCC optimize(2) #pragma GCC op...

2018-10-02 17:29:56

阅读数 80

评论数 0

国庆七天乐day2_bzoj3238 差异(后缀自动机)

传送门 最开始想到的是SA RMQ预处理,不过既然在写SAM那就用SAM来解决一下这个问题   其实写起来SAM远比SA简洁   我们这样想,对于两个后缀,他的lcp的长度就是两个对应的接收态在fail树上的LCA的深度 如果已经想明白了上面这点,那么对于这个问题,算得就是对于所有...

2018-10-02 17:20:35

阅读数 66

评论数 0

SPOJ - DISUBSTR Distinct Substrings(SAM)

  传送门 题意:求本质不同的子串的个数   写这题就为了赛前测一下SAM板子,毕竟是个裸得不能再裸的裸题了,然而,居然出问题了..................   问题出在初始化,一开始为了节省时间,是对每个节点一个一个去初始化-----fail[cnt] = -1; 然而...

2018-10-01 17:13:37

阅读数 36

评论数 0

国庆七天乐_day1_2012 Asia Tianjin Regional Contest HDU - 4436_str2int(SAM)

  传送门 题意:给你多个串,求他们的所有子串中本质不同的串的和对2012取模   把所有串连起来建一个后缀自动机. 对于每个节点的和而言,他实际的和应加上---------过该他子节点的次数×该节点所代表的数值+他的子节点的sum×10 而实际过他这个节点的次数就更简单了,把他所...

2018-10-01 15:52:58

阅读数 70

评论数 0

国庆七天乐day1_2016中国大学生程序设计竞赛(长春)hdu5918_Sequence I(kmp)

  传送门 题意:问a从存在多少子序列满足子序列在a中的下标间隔为p且该子序列就是b.   直接把个子序列拿出来,依次kmp求和即可,每次询问复杂度为   #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC op...

2018-10-01 14:04:08

阅读数 124

评论数 0

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