"bzoj" "Luogu" 对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串。比如00001111和010101就是反对称的,1001就不是。 现在给出一个长度为N的01字符串,求它有多少个子串是反对称的。 题解时间 这玩意咋看都像是回文串不是嘛 ...
分类:
其他好文 时间:
2019-12-22 12:24:28
阅读次数:
89
2084: [Poi2010]Antisymmetry Description 对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串。比如00001111和010101就是反对称的,1001就不是。现在给出一个长度为N的01字符串,求它有多少个子串是反 ...
分类:
其他好文 时间:
2018-10-19 19:47:39
阅读次数:
184
$n \leq 500000$的01串,1跟0配,问最长回文子串。 $0=1$,$1 \neq 1$,$0 \neq 0$,然后二分哈希或manacher或回文树。 1 //#include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 //# ...
分类:
其他好文 时间:
2018-04-28 14:34:02
阅读次数:
175
哈希或者manacher·改。。我写manacher manacher在拓展的时候改一下判断条件就好了。 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<algorithm> 5 #define ll lo ...
分类:
其他好文 时间:
2016-06-18 16:48:51
阅读次数:
148
显然只有偶数长度的串符合题意,并且如果一个串符合题意,那么从其首尾各截掉一个字符也符合题意。于是枚举中心,二分可以向左右扩展的最远距离,累计答案。#include#include#includeusing namespace std;#define N 500001typedef unsigned ...
分类:
其他好文 时间:
2015-04-17 13:29:57
阅读次数:
109
首先我们重新定义0 ≠ 0, 0 = 1, 1 = 0, 1 ≠ 1,然后跑一边manacher就好啦~然后去现学了manacher。。。 1 /************************************************************** 2 Problem:...
分类:
其他好文 时间:
2015-03-16 19:12:38
阅读次数:
131
题目大意:给定一个长度为n的01串,问有多少个子串满足翻转并取反后和原来一样
定义0=1,0≠0,1≠1,跑Manacher即可
#include
#include
#include
#include
#define M 500500
using namespace std;
int n;
char s[M];
long long Manacher(char str[],int n)
...
分类:
编程语言 时间:
2015-03-03 18:45:22
阅读次数:
198
2084: [Poi2010]AntisymmetryTime Limit:10 SecMemory Limit:259 MBSubmit:187Solved:125[Submit][Status]Description对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就...
分类:
其他好文 时间:
2014-10-02 12:56:12
阅读次数:
282