摘要: $SAM$板子,直接建出$SAM$之后把每个串放上去匹配就好了 代码 cpp include include include include define maxn 10000005 define re register define LL long long define max(a,b) ((a 阅读全文
posted @ 2019-01-05 17:45 asuldb 阅读(130) 评论(0) 推荐(0) 编辑
摘要: "题目" 对于$k\in[1,n]$求出长度为$k$的子串出现次数最多的出现了多少次 我直到现在才理解后缀自动机上的子树和是什么意思 非常显然的一点是 $$endpos(link(u))⊇endpos(u)$$ 考虑到$link(u)$有多个儿子 于是还需要$endpos$的另外一个性质 $$end 阅读全文
posted @ 2019-01-05 16:16 asuldb 阅读(141) 评论(0) 推荐(0) 编辑
摘要: "题目" 在$DAG$上跑一个$dp$就好了 设$ans_i$表示到了$SAM$的$i$位置上所有的子串形成的数的和,之后我们顺便记录一个方案数$d_i$ 之后我们直接转移就好了 $$ans_v+=ans_u\times 10+w[u,v]\times d_u$$ $$d_v+=d_u$$ 答案是$ 阅读全文
posted @ 2019-01-05 16:00 asuldb 阅读(127) 评论(0) 推荐(0) 编辑
摘要: "题目" 好题啊 $SAM$+单调队列优化$dp$ 首先这个$L$满足单调性真是非常显然我们可以直接二分 二分之后套一个$dp$就好了 设$dp[i]$表示到达$i$位置熟悉的文章的最大长度 有一个非常显然的$dp$方程 $$dp_i=max\{dp_j+i j\}\ (i j =mid)$$ 同时 阅读全文
posted @ 2019-01-05 15:47 asuldb 阅读(127) 评论(0) 推荐(0) 编辑
摘要: "题目" 来画柿子吧 我们要求的是 $$f(x)\equiv t(mod\ \ p)$$ 其中$f(1)=x_0,f(x)=af(x 1)+b$ 我们来写几项柿子看看 $$f(1)=x_0$$ $$f(2)=ax_0+b$$ $$f(3)=a(ax_0+b)+b=a^2x_0+ab+b$$ $$f( 阅读全文
posted @ 2019-01-05 08:11 asuldb 阅读(218) 评论(0) 推荐(0) 编辑