OI/ACM之字符串
OI/ACM字符串
「已注销」
前oi选手。
重庆市南开中学高2020级毕业生。
重庆大学计算机系2020级学生。
QQ1954486214欢迎添加讨论~
展开
-
POJ P3349 Snowflake Snow Snowflakes【最小表示法】【哈希】
重点应该在于如何表示每个雪花的状态。 如果我们统一逆时针或者顺时针,很容易发现,相同的雪花的最小表示法是相同的。 所以我们对于每一片雪花,顺着倒着分别做一次最小表示法,然后将结果进行哈希排列一下。 另外也比较容易发现的地方在于,对于相同的雪花,将它正着最小表示法后的哈希值与倒着最小表示法后的哈希值的最小值也是唯一的,我们将这个最小值保存下来。 如何判断相同?我们将记录下的最小值保存下来排序后去重,...原创 2018-10-09 19:17:00 · 217 阅读 · 0 评论 -
简单复习一下Manacher算法(求最长回文子串)
对于串ABCDCBCABCDCBCABCDCBC,我们在每两个字符之间添加其他字符#\##得到A#B#C#D#B#C#DA\#B\#C\#D\#B\#C\#DA#B#C#D#B#C#D p[i]p[i]p[i]表示并且iii为回文中心并且回文半径为p[i]p[i]p[i]。 我们考虑求这个东西。 maxpmaxpmaxp表示当前回文串的最右边的位置,midmidmid表示maxpmaxpmaxp所...原创 2018-11-08 15:50:10 · 227 阅读 · 0 评论 -
BZOJ 2084「POI2010」Antisymmetry【Manacher】
以前写的代码 #include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define SG string #define DB double #define LL long long #define Fp(...原创 2018-10-26 16:44:00 · 212 阅读 · 0 评论 -
简单复习一下KMP算法(模式匹配)
KMP算法用来做什么 KMP算法用于在线性时间内判定字符串A[1,n]A[1,n]A[1,n]是否为字符串B[1,m]B[1,m]B[1,m]的子串,并求出AAA在BBB中各次出现的位置。 关于哈希求解 关于模式匹配,我们显然可以用哈希在线性时间内求解,但是过于呆板难以扩展。 由于哈希代替各种字符串的做法比较固定,此处不做介绍。 KMP算法的小复习 fail[i]fail[i]fail[i]表示“...原创 2018-10-25 12:48:35 · 224 阅读 · 0 评论 -
POJ 2406 Power Strings【KMP判字符串循环节】
由KMP求出fail[]fail[]fail[] 设当前串长度为lenlenlen 若(len−fail[len])&nbsp;&nbsp;∣&nbsp;&nbsp;len(len-fail[len])\ \ |\ \ len(len−fail[len])&nbsp;&nbsp;∣&nbsp;&nbsp;len 则循环节长度为lenlen−fail[len]\frac{len原创 2018-10-25 16:43:19 · 254 阅读 · 0 评论