Codeforces 536BTavas and Malekas

Posted denverjin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces 536BTavas and Malekas相关的知识,希望对你有一定的参考价值。

536B Tavas and Malekas

题意:给一个字符串,现在要把这个字符串在一个大空字符串中放多次,每一次的开头在\(p_i\)位置,然后现在问这个大字符串有多少种情况。

思路:首先如果两个字符串放置的位置有重叠,重叠部分必须相等。

那么就是一个前缀要等于一个后缀。

所以果断z function。这样的话写起来比kmp快。。。

然后就可以对于每两个连续出现判断这些重复部分的交叉状况,同时算上所有的非自由的字符,最后求出\(2^{自由字符数量}\)即可。

以上是关于Codeforces 536BTavas and Malekas的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #536 (Div. 2) - D. Lunar New Year and a Wander(最短路)

codeforces 536a//Tavas and Karafs// Codeforces Round #299(Div. 1)

codeforces#536题解

Codeforces 536F Lunar New Year and a Recursive Sequence | BSGS/exgcd/矩阵乘法

Codeforces Round #536 (Div. 2) B. Lunar New Year and Food Ordering

Codeforces Round #536 E. Lunar New Year and Red Envelopes /// 贪心 记忆化搜索 multiset取最大项