首页 > 其他 > 详细

2017多校4

时间:2019-10-31 00:28:31      阅读:83      评论:0      收藏:0      [点我收藏+]

 

属实自闭。感觉周末要铁。

A B C D E F G H I J K L M
  $\varnothing$ $\varnothing$ $\varnothing$         O $\varnothing$ O    

 

[B. Classic Quotation]

其实就是要求 $S[1 \dots i]$($ i \in [1, L]$) 和 $S[j \dots n]$($j \in [R, n]$) 拼接后有多少个 $T$。

用哈希预处理出 $ok_pre[i][len]$ 表示串 $S$ 以 $i$ 结尾长度为 $len$ 与 $T[1 \dots len]$ 是否相等。

$sumpre[i][len]$ 表示前缀 $i$ 中有多少长度为 $len$ 的子串与 $T[1 \dots len]$ 相等。

$anspre[i]$ 表示 $sumpre[j][m]$ 的前缀和。

那么 $[1, L]$ 中出现串的个数对答案的贡献就为 $anspre[L] \times (n - R + 1)$。

右半部分同理可以处理出 $suf$ 数组。

两端拼起来的贡献为 $\sum_{i = 1}^{m - 1} sumpre[L][i] \times sumsuf[R][m - i]$

 

2017多校4

原文:https://www.cnblogs.com/Mrzdtz220/p/11768843.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!