字符串
脆脆鲨.
栽一棵树最好的时间是十年前,其次是现在
展开
-
兔子与兔子(字符串哈希)
很久很久以前,森林里住着一群兔子。有一天,兔子们想要研究自己的 DNA 序列。我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DNA 序列可能包含 26 个小写英文字母)。然后我们每次选择两个区间,询问如果用两个区间里的 DNA 序列分别生产出来两只兔子,这两个兔子是否一模一样。注意两个兔子一模一样只可能是他们的 DNA 序列一模一样。输入格式第一行输入一个 DNA 字符串 S。第二行一个数字 m,表示 m 次询问。接下来 m 行,每行四个数字 l1,r1,l2,r2,分别表示.原创 2021-10-03 21:05:40 · 118 阅读 · 0 评论 -
字符串-哈希
1、cin.getline(str,n)用法: 接收一个字符串,可以接收空格并输出2、getline(cin,str)用法:接收一个字符串,可以接收空格并输出BKDRHash(进制哈希): 求得的哈希值几乎不会冲突碰撞进制哈希的核心便是给出一个固定进制p,将一个串的每一个元素看做一个进制位上的数字,所以这个串就可以看做一个p进制的数,那么这个数就是这个串的哈希值;则我们通过比对每个串的的哈希值,即可判断两个串是否相同,实际应用时由于得到的哈希值都很大,不能直接映射到一个巨大的空间上,一般需要限制原创 2021-10-01 19:57:44 · 131 阅读 · 0 评论 -
poj 3630 Phone List (字典树)
【题目描述】给定 n 个长度不超过 10 的数字串,问其中是否存在两个数字串 S,T,使得 S 是 T 的前缀,多组数据。【输入】第一行一个整数 T,表示数据组数。对于每组数据,第一行一个数 n,接下来 n 行输入 n 个数字串。(对于 100% 的数据,1≤T≤40,1≤n≤104 。)【输出】对于每组数据,若存在两个数字串 S,T,使得 S 是 T 的前缀,则输出 NO ,否则输出 YES 。请注意此处结果与输出的对应关系!【输入样例】239119762599991125.原创 2021-08-13 19:39:06 · 190 阅读 · 0 评论 -
P3375 【模板】KMP字符串匹配
题目描述给出两个字符串 s1 和 s2,若 s1 的区间 [l,r] 子串与 s2 完全相同,则称 s2 在 s1 中出现了,其出现位置为 l。现在请你求出 s2 在 s1 中所有出现的位置。定义一个字符串 s 的 border 为 s 的一个非 s 本身的子串 t,满足 t 既是 s 的前缀,又是 s 的后缀。对于 s2,你还需要求出对于其每个前缀 s′ 的最长 border t′ 的长度。输入格式第一行为一个字符串,即为 s1。第二行为一个字符串,即为 s2。输出格式.原创 2021-08-11 20:59:23 · 127 阅读 · 0 评论