【BZOJ3160】万径人踪灭 Description Input Output Sample Input Sample Output HINT 题解:自己想出来1A,先撒花~(其实FFT部分挺裸的) 做这道题,第一思路很重要,显然看到这题的第一想法就是ans=总数-不合法(不要问我为什么显然)。因 ...
分类:
其他好文 时间:
2017-05-22 18:27:26
阅读次数:
145
Manacher+FFT,这题太精妙了,我现在才写是不是太弱了... Ans=以某个轴为中心的每一种回文子序列-所有连续回文串方案数 连续部分可以用Manacher在O(n)时间内解决。 第一部分:令f[i]=以i为中轴的对称对数,则对(2^f[i])-1求和即可(不能光有一根轴) 长串中i左右对称 ...
分类:
其他好文 时间:
2017-05-01 19:49:22
阅读次数:
315
http://www.lydsy.com/JudgeOnline/problem.php?id=3160 (题目链接) 题意 给定一个由'a'和'b'构成的字符串,求不连续回文子序列的个数。 Solution 在膜拜了PoPoQQQ大爷的题解后,我觉得有必要自己写一发,感觉这道题倒还是可以理解的。 ...
分类:
其他好文 时间:
2017-01-22 20:27:34
阅读次数:
233
题解: 题意即求不连续但间隔长度对称的回文串个数。 若si=sj,则这对字符可以作为以(i+j)/2为中心的回文串的一部分。 用F[i]来表示可以做为以i/2为中心的回文串的一部分的字符对数,则以i/2为中心的回文串数为2^F[i]。 则这就成了多项式乘法:先做一次a的,把字符为a的位置值赋为1,其 ...
分类:
其他好文 时间:
2017-01-06 23:46:17
阅读次数:
387
【题目大意】 在一个仅仅含有a,b的字符串里选取一个子序列,使得: 1.位置和字符都关于某条对称轴对称; 2.不能是连续的一段。 【思路】 不连续的回文串的个数=总的回文串个数-连续回文串的个数。 后者可以用manacher在O(n)时间里面求出。求的是个数不是最长串,和之前写的几道不怎么一样,注意 ...
分类:
其他好文 时间:
2016-08-20 00:10:45
阅读次数:
226
[BZOJ3160]万径人踪灭 试题描述 输入 输出 见“输入” 输入示例 见“输入” 输出示例 见“输入” 数据规模及规定 题解 问题分为两部分: 一. 对于每一个分界点(某个位置)或分界线(某两个位置中间),要求这么一个东西 意思就是回文串要求左半部分与右半部分对称,那么找到这些对称的位置,每个 ...
分类:
其他好文 时间:
2016-08-02 11:12:32
阅读次数:
171
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3160 我是一个傻叉 微笑脸 1 #include<bits/stdc++.h> 2 #define inf 1000000000 3 #define ll long long 4 #define ...
分类:
其他好文 时间:
2016-06-01 22:47:25
阅读次数:
273
答案=回文子序列数目-回文子串数目。回文子串数目可以通过Manacher在$O(n)$时间内求出。对于求回文子序列的数目,设f[i]为以i为对称中心的字符对数,则它对答案的贡献为$2^{f[i]}-1$。对于两个数$1\leq i\leq j\leq n$,若a[i]==a[j],那么它们对f[i+...
分类:
其他好文 时间:
2015-09-03 20:22:52
阅读次数:
160
具体见http://blog.csdn.net/PoPoQQQ/article/details/42193259code: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define maxn 262144 7 #define p...
分类:
其他好文 时间:
2015-07-21 12:27:12
阅读次数:
88