>Link
luogu P3501
>Description
给一个 0 / 1 0/1 0/1 串,求有多少子串(位置不同算不同子串)异或且翻转后与原串相同。
>解题思路
题目大意是有多少异或后的回文子串,那么直接马拉车就可以了。方便起见存一个数组 t o to to,表示每个字符在异或下对应的字符。
>代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 5000005
#define LL long long
using namespace std;
int n, m, to[N], mx;
char s[N], t[

该博客介绍了如何解决luogu P3501问题,即求0/1串中异或后翻转与原串相同的子串数量。博主提出利用马拉车算法来高效找出所有异或后为回文的子串。
最低0.47元/天 解锁文章
282





