ST2求 hack悬关
  • 板块学术版
  • 楼主cmaths
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/10/22 11:37
  • 上次更新2023/11/2 11:57:32
查看原帖
ST2求 hack悬关
300098
cmaths楼主2023/10/22 11:37

思路:设 fif_i 为以第 ii 位开头的可消除串个数,gig_i 为从第 i 位开始最短可消除串的结尾位置,那么 fi=fgi+1+1f_i = f_{g_i+1}+1

主要问题是求 gig_i,最短可消除串一定是一个回文串,从后往前枚举每一个间隔作为回文串中心,二分 + 哈希判断最长回文串长度(更新最多的点),然后线段树推平更新

比如 abba,第二个分隔得到回文串 abba,将 1-2 的值更新为 2(全部更新为分割点的值,方便更新,最小分割点可以反应最小结束点)最后能计算出来 g1=4,g2=3g_1=4,g_2=3

交上去 WA 25.

楼下代码

2023/10/22 11:37
加载中...