#字符串
Nefeertari
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hash学习三个好朋友
前言自己打的hash有点乱还总出错,以这道题为例,转了个模板(用了ull,省的取模)。https://blog.youkuaiyun.com/sdz20172133/article/details/99182258?utm_medium=distribute.pc_relevant.none-task-blog-utm_term-1&spm=1001.2101.3001.4242题目描述有三个 好朋友在一起玩游戏,A君一个字符串S,B君将其复制一遍得到T,C君在T的任意位置(包括首尾)插入一个字符得到字转载 2020-08-17 15:50:48 · 214 阅读 · 0 评论 -
7508 密码
7508 密码题目链接:http://acm.ocrosoft.com/problem.php?cid=2286&pid=7题目描述在浩浩茫茫的苍穹深处,住着玉帝和他的神仆们,他们闲谈着下界的凡人俗事,对人世间表现的聪明智慧,大加赞赏。今天他们正在观赏大地风光人情之际,忽然从遥远的东海之滨传来一阵欢笑声,玉帝纵目望去,只见镇海中学内聚集了全宁波的中小学精英学生,他们要干什么呢?原来他们都在做一种破译密码的游戏,人们发现:一根密码棒上的数字加上另一根密码棒上的数字,就是开启天庭司粮库密码锁的的原创 2020-08-10 14:14:20 · 503 阅读 · 0 评论 -
kmp学习笔记6 OKR-Periods of Words(Bzoj1511)
题目描述一个串是有限个小写字符的序列,特别的,一个空序列也可以是一个串. 一个串P是串A的前缀, 当且仅当存在串B, 使得 A = PB. 如果 P A 并且 P 不是一个空串,那么我们说 P 是A的一个proper前缀. 定义Q 是A的周期, 当且仅当Q是A的一个proper 前缀并且A是QQ的前缀(不一定要是proper前缀). 比如串 abab 和 ababab 都是串abababa的周期. 串A的最大周期就是它最长的一个周期或者是一个空串(当A没有周期的时候), 比如说, ababab的最大周期是原创 2020-08-03 14:51:31 · 300 阅读 · 0 评论 -
kmp学习5 Radio Transmission(Bzoj1355)
题目描述给你一个字符串,它是由某个字符串不断自我连接形成的。但是这个字符串是不确定的,现在只想知道它的最短长度是多少。输入第一行给出字符串的长度,1 < L ≤ 1,000,000. 第二行给出一个字符串,全由小写字母组成.输出请输出最短的长度样例输入8cabcabca样例输出3...原创 2020-08-03 14:41:41 · 310 阅读 · 0 评论 -
kmp学习4 Power Strings(Poj2406)
题目描述Given two strings a and b we define ab to be their concatenation. For example, if a = “abc” and b = “def” then ab = “abcdef”. If we think of concatenation as multiplication, exponentiation by a non-negative integer is defined in the normal way: a^0 =原创 2020-08-03 14:35:41 · 189 阅读 · 0 评论 -
kmp学习3 剪花布条(Hdu2087)
题目描述一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢输入输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。输出输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。样例输入abcde a3aa原创 2020-08-03 14:27:08 · 256 阅读 · 0 评论 -
kmp学习2 Number Sequence
题目描述Given two sequences of numbers : a[1], a[2], … , a[N], and b[1], b[2], … , b[M] (1 <= M <= 10000, 1 <= N <= 1000000). Your task is to find a number K which make a[K] = b[1], a[K + 1] = b[2], … , a[K + M - 1] = b[M]. If there are more than原创 2020-08-03 14:17:38 · 225 阅读 · 0 评论 -
kmp学习1 输出next数组
题目描述在求解KMP过程中,会先求解next数组,给定一个字符(长度不超过40),输出对应next数组。具体描述:给定一个字符串t,如 abcdabc,把从第一个字符开始的t的子串称为t的前缀,如a,ab,abc,abcd给定一个字符串t,如 abcdabc,把从某一个字符开始到最后一个字符的t子串称为t的后缀,如c,bc,abc,dabc,cdabc求出t的子串对应的 前缀长度等于后缀长度 的值 及 next数组。如 a ab abc abcd abcda abcda原创 2020-08-03 14:11:13 · 436 阅读 · 0 评论 -
kmp next函数 kmp的周期问题,深入了解kmp中next的原理
https://www.cnblogs.com/wuyiqi/archive/2012/01/06/2314078.html----------------------------------------------k m x j i第一段黄色是k到j,第二段是m到i(复制过来不是很好对位置,还是去看原文吧)由上,next【i】=j,两段红色的字符串相等(两个字符串完全相等),s[k…j]==s[m…i]设s[x…j]=s[j…i] (xj=ji)转载 2020-08-03 13:51:10 · 195 阅读 · 0 评论 -
学习笔记(kmp)
开始学习与字符串有关的算法:kmp:用于比较字符串a是否是b子串的算法。设a的长度为n,b的长度为m暴力求解时间是n*m,而kmp是n+m;可以大幅度减少时间复杂度求出字符串子串中前缀和后缀相等的部分的个数代码:#include<bits/stdc++.h>using namespace std;int next[10005];void cal_next(string str,int len){ next[0]=-1; int k=-1; for(int i=1;i&l转载 2020-07-27 16:20:45 · 165 阅读 · 0 评论 -
(清题笔记)hdu2020 round 2 String Distance
题目描述对于两个字符串S和T,可以对任意次数执行以下操作:Select a stringS或T,在任何位置插入或删除字符。两个弦S和T之间的距离被定义了作为使S和T相等的最小操作数。您将得到两个字符串A[1…n]、B[1…m]和q查询。在每个查询中,您将得到两个整数li和ri(1≤li≤ri≤n),您需要先查找距离在连续的子串A[li…ri]和整个串B之间。输入输入的第一行包含单个整数T(1≤T≤10),即测试用例的数量。对于每种情况,输入的第一行包含一个由n(1≤n≤100 000)小写原创 2020-07-27 10:17:34 · 215 阅读 · 0 评论 -
学习笔记(Lyndon 分解)
Lyndon 串:对于字符串 s ,如果 s 的字典序严格小于 s 的所有后缀的字典序,我们称 是简单串,或者 Lyndon 串 。举一些例子 a , ab , aab , abb , ababb , abcd 都是 Lyndon 串。如果 s 是 Lyndon 串,当且仅当转载 2020-07-25 10:43:34 · 536 阅读 · 0 评论
分享