【BZOJ】2084: [Poi2010]Antisymmetry
http://www.lydsy.com/JudgeOnline/problem.php?id=2084
题意:一个01串,求满足字符串0和1取反后,再将整个串反过来和原串一样的子串数目。(n<=500000)
#include <bits/stdc++.h>
using namespace std;
const int N=500005;
long long ans;
int len[N<<1], n;
char s[N<<1];
int main() {
scanf("%d%s", &n, s+1);
for(int i=n; i; --i) s[i<<1]=s[i], s[i<<1|1]='#';
n=n<<1|1; s[1]='#';
int cur=1;
for(int i=2; i<=n; ++i) {
int &now=len[i];
now=min(len[(cur<<1)-i], max(0, cur+len[cur]-i));
if(i&1) {
while(i-now-1>=1 && i+now+1<=n && (s[i-now-1]=='#' || s[i-now-1]!=s[i+now+1])) ++now;
ans+=now;
}
if(cur+len[cur]<i+now) cur=i;
}
printf("%lld\n", ans>>1ll);
return 0;
}
发现就是0和1看做相等的回文串= =
妈呀发现在做manacher的时候有各种坑爹情况= =
首先要注意只能插入的特殊字符才能拓展= =否则如果是0或1拓展的话会出现莫名的问题= =(因为当0!=1的时候可能会造成类似这种
4
1001
答案应该是2
= =因为你会发现当'#'拓展后得到的长度,对于'0'或'1'在这个长度内不一定满足回文性= =
【BZOJ】2084: [Poi2010]Antisymmetry的更多相关文章
- 【BZOJ】2086: [Poi2010]Blocks
		
题意 \(n(1 \le n \le 1000000)\)个数\(a_i(a_i \le 10^9)\).\(m(1 \le m \le 50)\)次询问,每次给出一个\(k(k \le 10^9)\ ...
 - 【BZOJ】【2084】【POI2010】Antisymmetry
		
Manacher算法 啊……Manacher修改一下就好啦~蛮水的…… Manacher原本是找首尾相同的子串,即回文串,我们这里是要找对应位置不同的“反回文串”(反对称?233) 长度为奇数的肯定不 ...
 - BZOJ 2084: [Poi2010]Antisymmetry [Manacher]
		
2084: [Poi2010]Antisymmetry Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 609 Solved: 387[Submit] ...
 - 【BZOJ】3052: [wc2013]糖果公园
		
http://www.lydsy.com/JudgeOnline/problem.php?id=3052 题意:n个带颜色的点(m种),q次询问,每次询问x到y的路径上sum{w[次数]*v[颜色]} ...
 - 【BZOJ】3319: 黑白树
		
http://www.lydsy.com/JudgeOnline/problem.php?id=3319 题意:给一棵n节点的树(n<=1e6),m个操作(m<=1e6),每次操作有两种: ...
 - 【BZOJ】3319: 黑白树(并查集+特殊的技巧/-树链剖分+线段树)
		
http://www.lydsy.com/JudgeOnline/problem.php?id=3319 以为是模板题就复习了下hld............................. 然后n ...
 - 【BZOJ】1013: [JSOI2008]球形空间产生器sphere
		
[BZOJ]1013: [JSOI2008]球形空间产生器sphere 题意:给n+1个n维的点的坐标,要你求出一个到这n+1个点距离相等的点的坐标: 思路:高斯消元即第i个点和第i+1个点处理出一个 ...
 - 【BZOJ】1002:轮状病毒(基尔霍夫矩阵【附公式推导】或打表)
		
Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下图 ...
 - 【BZOJ】【3083】遥远的国度
		
树链剖分/dfs序 其实过了[BZOJ][4034][HAOI2015]T2以后就好搞了…… 链修改+子树查询+换根 其实静态树的换根直接树链剖分就可以搞了…… 因为其实只有一样变了:子树 如果roo ...
 
随机推荐
- Faster-rnnlm代码分析2 - HSTree的构造
			
也就是构造一棵Huffman Tree,输入是按照词汇频次由高到低排序的 采用层次SoftMax的做法,是为了使得训练和预测时候的softmax输出加速,原有multinomal softmax,是和 ...
 - DES加密算法实现
			
好久没写博客了,正好趁着实现网络工程与安全的DES算法的功夫,把代码发上来. DES的介绍可见:DES加密 原理不赘述了..实在太多,其实就是一个形式化算法,按部就班的实现就可以,只不过有些繁琐,我写 ...
 - oracle 11g r1 RAC增加新节点
			
在一套两节点的rac上增加一个新的节点,详细的操作记录如下: 已有节点RAC1,RAC2 一,环境及版本: 公司环境:Vmware Esxi 5.5 操作系统:Redhat 5.8 x86_64 ...
 - HTTPCLIENT 学习 (1) 入门
			
早就如雷贯耳它的大名,却一直不曾相见,昨天下载下来,今天终于测试了一把,用的官网的QUICK START例子,来访问我自己以前开发过的WEB程序,因为这个网站恰好有一个写好的通过POST请求验证用户名 ...
 - Microsoft SQL Server 博客目录
			
基础概念篇 SQL Server排序规则 SQL SERVER 统计信息概述(Statistics) SQL SERVER 索引之聚集索引和非聚集索引的描述 Sql Server 索引之唯一索引和筛选 ...
 - 攻城狮在路上(壹) Hibernate(八)--- 映射Hibernate组成关系
			
一.使用组成关系的原则: 在不导致数据冗余的前提下,尽可能减少数据库表的数目及表之间的外键参照关系,因为建立多个表的连接是很耗时的操作. 举例说明:Customer类中的Address属性,可以通过组 ...
 - 搜索引擎爬虫技术研究(爬虫框架)-WebCollector
			
一.简介: https://github.com/CrawlScript/WebCollector/blob/master/README.zh-cn.md 二.使用: <dependency&g ...
 - 关于cout<<ends你不知道的那些事
			
关于ends是C++中比较基础的一个东西,但是可能不是每个人都能够清楚的理解这是个什么东西,我就经历了这么一个过程,写出来让大家看看,有什么理解的不对的地方欢迎拍砖. 今天以前我对ends的理解是:输 ...
 - JQuery 定时器 (Jquery Timer 插件)
			
jQuery Timers插件地址: http://plugins.jquery.com/project/timers JQuery Timers应用知识提供了三个函式1. everyTime(时 ...
 - 70多G的Kindle电子书合集
			
70多个G的电子书. 百度网盘分享了几次被屏蔽了, 360网盘每个文件夹最多只能分享2000个文件,所以只能分成多个文件夹分享. 如果大家知道更好的分享方式,欢迎留言相告,多谢: http://yun ...