E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ2342
5-6月题目汇总(5.30---6.4)
5.30晚NO.1来源:
BZOJ2342
[Shoi2011]双倍回文分类:回文,Manachar简要题解:先用Manachar求出f(i),令p(i)表示以i,i+1中间为对称轴能延伸的最长长度,也就是
Nocownowa
·
2017-05-30 21:13
思维趣题
bzoj2342
【SHOI2011】双倍回文
2342:[Shoi2011]双倍回文TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 1798 Solved: 670[Submit][Status][Discuss]DescriptionInput输入分为两行,第一行为一个整数,表示字符串的长度,第二行有个连续的小写的英文字符,表示字符串的内容。Output输出文件只有一行,即:输入数据中字符串的最长双
AaronGZK
·
2016-05-25 00:00
字符串
set
Manacher
【
BZOJ2342
】【Shoi2011】双倍回文 Manacher算法
其实这道题就是马拉车(?)的数组做出来之后再来一点小小的处理。为了偷懒在s[0]处插入'$',然后用‘#’把字符串夹在中间,首先将d数组处理出来,然后枚举每个s[i]=='#'的位置(因为长度是偶数所以对称中心一定是‘#’),暴力寻找最大的j,满足d[i+j]>=j&&d[i-j]>=j(j%2==0),原理比较浅显,因为i+j.i-j就是两个小字串的对称中心。 最终答案就是maxj*2#incl
qq_34637390
·
2016-04-20 23:00
字符串
manacher算法
BZOJ2342
【manacher】【set】
/*Iwillwaitforyou*/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #definemakemake_pair #definefifirst #definesesecond
Lethelody
·
2015-05-13 11:00
【
BZOJ2342
】【Shoi2011】双倍回文 Manacher+枚举+最优性剪枝
题解:Manacher处理出回文半径,然后知道一个回文串后就可以知道两边的回文中心,然后O(1)check是否合法,即判断两边中心的回文半径。这里需要枚举每一个位置的回文半径,因为比如这个 18abbbaabbbaccddddccccddddcc就不是双倍回文,但是它中间有个dddd是双倍回文,如果每个回文只check最长的是不是双倍回文,就会WA在这里。Manacher算法:http://blo
Vmurder
·
2014-12-28 11:00
Manacher
BZOJ2342
Shoi2011
双倍回文
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他