题意:求最小循环节循环的次数。 题解:这个题其实可以直接用kmp去求最小循环节,然后在用总长度除以循环节。但是因为在练后缀数组,所以写的后缀数组版本。用倍增法会超时!!所以改用DC3法。对后缀数组还不是很理解,找了很多博客也没看懂到底有些数组到底记录的是啥,但他的实现过程很好理解,等我弄懂了再来给博 ...
分类:
编程语言 时间:
2020-04-02 23:03:47
阅读次数:
168
好题… 就是比平时的 hard 难了一些…… 虽然猜出是数位DP了…不过比我之前做的题,好像多了一维,印象中都是一维记录之前状态就够了……然后就没做出…… 至于 KMP 的应用更是神奇,虽然掌握的 kmp 但是真的想不到…… 窝的代码能力太差了……总归是学到了……希望下次能做出来吧…… 参考题解 h ...
分类:
其他好文 时间:
2020-04-02 01:04:08
阅读次数:
216
一:Kmp算法 概要: Kmp算法中nxt数组为重要组成部分,nxt数组所存的内容为:next[i]表示前i个字符组成的子串的最长相同前缀和后缀的长度,要注意应用中提出的nxt[i]变化(方便在匹配两个字符串时候跳动减少时间复杂度) nxt数组模板: 以i=1为起点的字符串进行处理 void get ...
分类:
编程语言 时间:
2020-04-01 19:31:10
阅读次数:
79
目的:掌握串的模式匹配算法(BF和KMP )设计 内容:编写一个程序exp4 3.cpp,实现顺序串的各种模式匹配运算,并在此基础上完成以下功能: 1、建立目标串s="abcabcdabcdeabcdefabcdefg"和模式串t="abcdeabcdefab"; 2、采用简单匹配算法求t在s中的位 ...
分类:
编程语言 时间:
2020-03-31 20:48:13
阅读次数:
373
题面见http://acm.hdu.edu.cn/showproblem.php?pid=3336 给你一个字符串,让你找它的前缀在整个字符串出现的次数。 作为一个不会思考的笨比,直接用kmp去一个个计数,果不其然,t了 找了博客来看,大概就是kmp+dp,要用到kmp中的pret数组(有的人习惯叫 ...
分类:
其他好文 时间:
2020-03-30 23:02:03
阅读次数:
65
一、思维导图 二、重要概念 一.数据结构 1.逻辑结构 集合、线性结构、树形结构、图形结构。 2.存储结构 常用的存储结构有顺序存储、链式存储、索引存储和哈希存储等。 3.算法分析 1)目标:正确性、可使用性、可读性、健壮性、时间效率高与储存量低 2)方法:事后估计法、事前分析估算法 3)两个角度: ...
分类:
其他好文 时间:
2020-03-28 19:49:26
阅读次数:
77
一.数据结构 1.概念 1.数据类型和抽象数据类型是不同的概念。 2.逻辑结构分为线性结构(一对一)、树形结构(一对多)、图形结构(多对多)。 3.时间复杂度(T(n)=O(f(n));空间复杂度(占用的内存空间)。 4.算法 1.BF算法:时间复杂度最坏为O(n m)。 2.kmp算法:时间复杂度 ...
分类:
编程语言 时间:
2020-03-28 01:13:29
阅读次数:
84
传送门:FZU - 1901 题意:给你个字符串,让你求有多少个p可以使S[i]==S[i+P] (0<=i<len-p-1)。 题解:这个题是真的坑,一开始怎么都觉得自己不可能错,然后看了别人的博客打脸了,发现自己掉坑了了...一开始想的是找出最小循环节,只要每次输出多加一个循环节,最后输出len ...
分类:
其他好文 时间:
2020-03-28 00:56:54
阅读次数:
75
KMP 模板 prefix function 前缀函数 例题 [CF204E] 题意 给定一主串,再查询某字符串是否可以由主串的两个子串拼接而成. 思路 正反向各kmp一次 记录查询的字符串的前缀和后缀在主串中的位置 代码:先空着,之前的代码写的不太对 [CCPC秦皇岛] 题意 跟找循环节有关 思路 ...
分类:
其他好文 时间:
2020-03-28 00:44:11
阅读次数:
59
背景 快速排序,是在上世纪60年代,由美国人东尼·霍尔提出的一种排序方法。这种排序方式,在当时已经是非常快的一种排序了。因此在命名上,才将之称为“快速排序”。这个算法是二十世纪的七大算法之一,平均情况下时间复杂度为Ο(nlogn),而且在O(nlogn)的情况下,实际的运算速度都要快于其他同时间复杂 ...
分类:
编程语言 时间:
2020-03-27 19:52:25
阅读次数:
51