回文自动机
DZYO
Never stop
展开
-
codeforces 17E :Palisection(回文自动机)
传送门题意: 给字符串S,求S中所有相交的回文串的对数。题解: 以前写过一篇manacher\text{manacher}的,不过今天我才发现回文自动机原来这么好用,manacher\text{manacher}我应该是不会再碰的了。。(除非卡空间,时间其实没什么区别)。这份代码MLEMLE了,不过本机跑了跑应该是对的,顺便写一点回文自动机的总结。对于回文自动机上的failfa原创 2018-01-22 22:23:07 · 323 阅读 · 0 评论 -
Codeforces Round #463 (Div. 1 + Div. 2, combined) G:Palindrome Partition(回文自动机)
传送门题解: 这是一道神题,具体题解直接看官方的比较好… 用到了策爷字符串ppt中回文串的回文后缀是lognlogn\log n个等差数列的性质。#include <bits/stdc++.h>using namespace std;const int N=1e6+50;const int mod=1e9+7;int n,f[N],tot=1;char s[N]...原创 2018-02-17 21:04:16 · 6032 阅读 · 0 评论 -
Ural 2058. 100500 palidnromes(回文自动机)
传送门题解: 每个位置的回文后缀形成lognlogn\log n 个等差数列。 回文自动机多维护三个值:diff,sans,slinkdiff,sans,slinkdiff,sans,slink。 然后暴力跳slinkslinkslink链即可。#include <bits/stdc++.h>using namespace std;const int N=3e5+5...原创 2018-02-17 23:31:39 · 293 阅读 · 0 评论 -
HDU5785:Interesting(回文自动机)
传送门题解: 做两遍回文自动机。第一次预处理fifif_i表示所有回文串(j,i)(j,i)(j,i)的jjj的和。 第二次根据回文串末尾形成等差数列,维护等差数列的fifif_i即可更新答案。#include <cstdio>#include <cstring>#include <map>using namespace std;ty...原创 2018-04-06 17:07:02 · 336 阅读 · 0 评论 -
UOJ#433. 【集训队作业2018】串串(循环串/回文串)
传送门题解:这道题主要用到的几个性质(具体证明可以看题解):1.弱双回文串SSS的某个双回文划分ababab,满足aaa是SSS的最长回文前缀,或者bbb是SSS的最长回文后缀。2.弱双回文串SSS若有两个弱回文划分,则SSS为整周期串。3.弱双回文串SSS的周期为ttt,则其有∣S∣t\frac{|S|}{t}t∣S∣个不同的弱回文划分。我们先计算本质不同的双回文串划分,然后减去算...原创 2018-11-27 20:26:49 · 1452 阅读 · 1 评论