博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 2342: [Shoi2011]双倍回文 [Manacher + set]
阅读量:7046 次
发布时间:2019-06-28

本文共 679 字,大约阅读时间需要 2 分钟。

题意:

求最长子串使得它有四个相同的回文串SSSS相连组成


 

枚举中间x

找右边的中间y满足 y-r[y]<=x y<=x+r[x]/2

用个set维护

注意中间只能是#

#include 
#include
#include
#include
using namespace std;const int N=1e6+5;typedef long long ll;int n;char s[N],str[N];int r[N];void Manacher(char s[],int n){ int p=0,a; for(int i=1;i<=n;i++){ r[i]=i
p) p=i+r[i]-1,a=i; }}void iniStr(char str[],char s[]){ for(int i=1;i<=n;i++) s[(i<<1)-1]='#',s[i<<1]=str[i]; s[n<<1|1]='#'; s[0]='@';s[(n<<1)+2]='$';}set
Set;set
::iterator it;struct data{ int v,id; bool operator <(const data a)const{ return v

 

转载地址:http://mpzol.baihongyu.com/

你可能感兴趣的文章
Linux快捷键
查看>>
文档对象模型DOM
查看>>
2019北京国际康复及个人健康博览会将在中国国际展览中心举办
查看>>
JVM——类加载机制(一)
查看>>
超清晰的 DNS 原理入门指南 (资源)
查看>>
大神笔记
查看>>
spring cloud构建java b2b2c 电子商务云商平台
查看>>
阿里顶级Java架构师,教你这样手写Spring!
查看>>
android课程表控件、悬浮窗、Todo应用、MVP框架、Kotlin完整项目源码
查看>>
CLOB字段在java中操作
查看>>
磁盘清理
查看>>
javascript 判断数据类型 判空
查看>>
matplotlib 中文字体问题
查看>>
protobuf v3测试
查看>>
(1)知识准备【利用objective-c的runtime特性,结合FMDB实现一个轻量级的ORM】
查看>>
Angular js开发的各种坑(持续更新中。。。)
查看>>
Google Apps - Gmail API的通知功能
查看>>
调试java8 函数式
查看>>
Intellij使用心得(二) -- 关于启动Web服务器的几个事
查看>>
linux源代码安装软件
查看>>