luogu 3281 数数

Posted cjc030205

tags:

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

设f[n]为串s[1...n]的答案,suf[n]为串s[1...n]的后缀和

假设串n的长度为len[n],现在在串s[1...n]后面增加一个字符p

考虑增加字符p后相较于原来的字符串多了哪些子串,

明显是(s[1...n]+p,s[2...n]+p,s[3...n]+p,...,p)

对原来答案增加的贡献是(newp = suf[n]*B+(len[n]+1)*p),所以现在的答案是$ newp+lastans$;

定义(S[n])(0+1+2+3+...+n)的和

假设现在随便填(先考虑位数不足的情况)

每个位置有(0~B-1)(B)种填法

同时因为我们注意到了一共会有(B)种填法,对原来的(f[n])的答案转移时也应该$*B $

所以对原来增加的贡献为(sum newp = B^2*suf[n]+(len[n]+1)*S[B-1]);

但是这是前面只有一种后缀的情况

假设以(n)为结尾的有(sdif[n])种后缀,那么实际贡献为(sum newp = B^2*suf[n]+sdif[n]*(len[n]+1)*S[B-1])

现在考虑在串(s[1...n])加入一个字符(p)后,包含(p)的后缀数的计算。

假设当前位随便填写,那么一共有(B)种填法,

如果当前位独立算做一个后缀一共有(B)

如果联合之前的位,那么一共就有(sdif[n]*B)种后缀

所以包含(p)的一共有(sdif[n]*B+B)种后缀

以上是关于luogu 3281 数数的主要内容,如果未能解决你的问题,请参考以下文章

luogu P1145 约瑟夫

更新区间,求单点—— luogu 3368

luogu P3368 模板树状数组 2

luoguP3281 [SCOI2013]数数

LUOGU P1072

[luogu4556]雨天的尾巴