首页 > 其他分享 >CF17E Palisection

CF17E Palisection

时间:2023-02-18 20:02:34浏览次数:50  
标签:p0 p1 limits CF17E sum cnt Palisection 回文

个人思路:
两回文 \(i,j\) 相交,即 \(l_i \le r_j \land r_i \ge l_j\)

我们从左到右,计算以每个点为中心的回文与之前的点为中心的回文的交点数,可以保证 \(r_i \ge l_j\),相交只需要保证 \(l_i \le r_j\)。
同时对偶回文和奇回文做 manacher,过程中统计当前以每个点为右端点的回文数,记为 \(cnt_p\)。每到一个点查询,对于一个左端点为 \(L\) 的回文,当前与他有交的回文数为 \([cnt_L,n]\) 的后缀和。然后把以它为中心的所有回文加入 \(cnt\)。以 \(i\) 为中心所有回文串的贡献,可以用线段树维护。

以 \(i\) 为中心 偶回文串的贡献:$$\sum\limits_{j=i-p0_i}^{i-1} (cnt_j \times (j-i+p0_i+1)) + \sum\limits_{j=i}^n cnt_j \times p0_i$$
以 \(i\) 为中心 奇回文串的贡献:$$\sum\limits_{j=i-p1_i+1}^{i-1} (cnt_j \times (j-i+p1_i)) + \sum\limits_{j=i}^n cnt_j \times p1_i$$
注意,最后需要加上 \((p0_i+p1_i)^2 - p0_i - p1_i\),因为会自交。

标签:p0,p1,limits,CF17E,sum,cnt,Palisection,回文
From: https://www.cnblogs.com/Mysterious-Cat/p/17133393.html

相关文章