字符串
文章平均质量分 53
字符串
linjiayina
hello world!
展开
-
【模板】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-01-27 18:37:25 · 238 阅读 · 0 评论 -
kmp——可爱即正义
kmp——可爱即正义题目描述小可爱是个可爱的女孩子(nzdl)。众所周知,小可爱在物竞初赛时候有两道大题没有做出来,所以,可爱的小可爱(qwq)便沉浸在了毒瘤之中——无法接受在任何地方看到"suqingnianloveskirito"这个东西。然而,这时候从SD某处送来了一封安慰信(情书),信的内容是一个26个小写拉丁字母组成的字符串s。这封信提前被wyxdrqc劫了下来(没错,就是这个劫),他打开了这封信,结果发现了满篇的"suqingnianloveskirito"所以他想篡改这封信。由于他的能原创 2020-08-23 19:45:30 · 259 阅读 · 0 评论 -
kmp——Youhane Assembler
kmp——Youhane Assembler题目链接#include<bits/stdc++.h>using namespace std;const int N = 300005;string f[N],s;int nxt[N];void getNext(){ int slen=s.length(); int j=0; int k=-1; nxt[0]=-1; while(j<slen){ if(k==-1||s[j]==s[k]){ ++k;原创 2020-08-23 18:49:30 · 126 阅读 · 0 评论 -
kmp——字符串的问题
kmp——字符串的问题题目描述有一个字符串 让你找到这个字符串 S 里面的子串T 这个子串 T 必须满足即使这个串的前缀 也是这个串的后缀 并且 在字符串中也出现过一次的(提示 要求满足前后缀的同时也要在字符串中出现一次 只是前后缀可不行 输出最长满足要求字符串)输入描述给出一个字符串 长度 1 到 1e6 全部是小写字母输出描述如果找的到就输出这个子串T 如果不行就输出 Just a legend示例 1输入fixprefixsuffix输出fix示例 2输入abcdabc原创 2020-08-20 16:06:30 · 232 阅读 · 0 评论 -
字符串hash——Matrix(二维)
字符串hash——Matrix(二维)题目描述给定一个M行N列的01矩阵(只包含数字0或1的矩阵),再执行Q次询问,每次询问给出一个A行B列的01矩阵,求该矩阵是否在原矩阵中出现过。输入描述第一行四个整数M,N,A,B。接下来一个M行N列的01矩阵,数字之间没有空格。接下来一个整数Q。接下来Q个A行B列的01矩阵,数字之间没有空格。输出描述对于每个询问,输出1表示出现过,0表示没有。示例输入3 3 2 21110001113110011110011输出10原创 2020-08-23 16:23:35 · 267 阅读 · 0 评论 -
字符串hash——白兔的字符串
字符串hash——白兔的字符串题目描述白兔有一个字符串T。白云有若干个字符串S1,S2…Sn。白兔想知道,对于白云的每一个字符串,它有多少个子串是和T循环同构的。提示:对于一个字符串a,每次把a的第一个字符移动到最后一个,如果操作若干次后能够得到字符串b,则a和b循环同构。所有字符都是小写英文字母输入描述第一行一个字符串T(|T| <= 10 ^ 6)第二行一个正整数n (n <= 1000)接下来n行为S1 ~ Sn (|S1|+|S2|+…+|Sn| <= 10 ^原创 2020-08-22 20:18:07 · 201 阅读 · 0 评论