摘要: 题目大意: 给你两个字符串a和b,要求从a和b中各取出一个相等的子串,问不同的取法有多少种。 思路: 对于a串建立SAM,然后DP求出每个状态Right集合的大小。 然后把b串放进去匹配,对于每一个匹配到的结点p,它的每一个Right状态都可以匹配一个长度为tmp-s[s[p].link].len的 阅读全文
posted @ 2017-09-15 20:53 skylee03 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 来源: CE1998 题目大意: 求字符串最小表示。 思路: 字符串复制一遍接在后面,构建SAM,然后每次跑小的转移。 跑n次以后就跑到了最小表示的末尾,用该状态的len值减去n就是最小表示的起始位置。 阅读全文
posted @ 2017-09-15 15:38 skylee03 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 求字符串最小表示。 思路: 本来按照lbn187的课件,知道SAM可以求字符串最小表示。 然而他并没有提供例题,就自己找了一道做。 大体思想就是把字符串复制一遍接在后面,构建SAM,然后每次跑小的转移。 跑n次以后就跑到了最小表示的末尾,用该状态的len值减去n就是最小表示的起始位置。 阅读全文
posted @ 2017-09-15 15:36 skylee03 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给定一棵n带权树,每个点的权值在[1,n]范围内且互不相等,并满足子结点的权值一定小于父结点。 现在已知一个包含根结点的联通块中个点的权值,求剩下哪些点的权值能够被求出,并求出这些权值。 思路: 贪心。 很显然,对于某一个结点x,如果当前只有一个可取的权值w,且小于其父结点的权值,那么这 阅读全文
posted @ 2017-09-15 13:34 skylee03 阅读(122) 评论(0) 推荐(0) 编辑