
字符串
文章平均质量分 65
bbbblzy
这个作者很懒,什么都没留下…
展开
-
字符串string常见操作
写在前面这篇博客介绍的操作是需要调用string库,而且是STL,不开O2的话(noip)会被卡爆。慎用。慎用。1.字符串操作strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比原创 2017-12-09 08:30:33 · 221 阅读 · 0 评论 -
[Baltic2009]Radio Transmission--bzoj1335(题解)
题目描述给你一个字符串,它是由某个字符串不断自我连接形成的。 但是这个字符串是不确定的,现在只想知道它的最短长度是多少.题解这是一道结论题:n−next[n]n−next[n]n-next[n] 那么怎么证明呢??我们把文本T与next[n] 取出来并且开头对齐,如图: 此时相同位置的字符是相同的。 因为题目告诉我们文本串是由一个某个字符串不断自我连接...原创 2018-04-06 16:30:56 · 548 阅读 · 0 评论 -
bzoj 3942: [Usaco2015 Feb]Censoring(题解)
题目描述Farmer John has purchased a subscription to Good Hooveskeeping magazine for his cows, so they have plenty of material to read while waiting around in the barn during milking sessions. Unfortun...原创 2018-04-06 14:40:49 · 564 阅读 · 0 评论 -
Trie(前缀树)
知识简介我们常常用Trie(也叫前缀树)来保存字符串集合。Trie 的强大之处就在于它的时间复杂度。它的插入和查询时间复杂度都为 O(k) ,其中 k 为 key 的长度,与 Trie 中保存了多少个元素无关。Hash 表号称是 O(1) 的,但在计算 hash 的时候就肯定会是 O(k) ,而且还有碰撞之类的问题;Trie 的缺点是空间消耗很高。至于Trie树的实现,可以用数组,也可以用指针动态分原创 2017-12-09 10:28:05 · 900 阅读 · 0 评论 -
后缀数组
简要后缀数组是处理字符串的有力工具。后缀数组是后缀树的一个非常精巧的替代品,它比后缀树容易编程实现,能够实现后缀树的很多功能而时间复杂度也并不逊色,而且它比后缀树所占用的内存空间小很多。可以说,在信息学竞赛中后缀数组比后缀树要更为实用。本文分两部分。第一部分介绍两种构造后缀数组的方法,重点介绍如何用简洁高效的代码实现,并对两种算法进行了比较。第二部分介绍后缀数组在各种类型题目中的具体应用一些定义(1原创 2017-12-20 19:31:05 · 225 阅读 · 0 评论 -
AC自动机
背景Aho-Corasick自动机算法(简称AC自动机)1975年产生于贝尔实验室。该算法应用有限自动机巧妙地将字符比较转化为了状态转移。 AC自动机主要用于多关键字的字符串匹配。 要搞懂AC自动机,先得有模式树(字典树)Trie和KMP模式匹配算法的基础知识。 KMP:传送门 Trie:传送门 一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里原创 2017-12-10 20:10:42 · 384 阅读 · 0 评论 -
KMP算法
什么是kmp算法cpp里string类里有个find成员函数,其功能是:有两个串A和B(length(A)>=length(B)),我们要找B在A中第一次出现的位置。 如果没有find,怎么办?我们用最裸的方法,通常我们的方法是枚举从A串的什么位置起开始与B匹配,然后验证是否匹配。假如A串长度为n,B串长度为m,那么这种方法的复杂度是O (mn)的。 有人会说只要有不匹配就可以...原创 2017-12-10 19:42:13 · 313 阅读 · 0 评论 -
☆【hnoi2004】L语言(题解)
题目描述标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的。现在你要处理的就是一段没有标点的文章。 一段文章T是由若干小写字母构成。一个单词W也是由若干小写字母构成。一个字典D是若干个单词的集合。我们称一段文章T在某个字典D下是可以被理解的,是指如果文章T可以被分成若干部分,且每一个部分都是字典D中的单词。 例如字典D中包括单词{‘is’, ‘name’, ‘what’, ‘your’}原创 2017-12-10 10:46:23 · 1007 阅读 · 0 评论 -
bzoj 1590 luogu2292 [USACO08DEC]秘密消息Secret Message(题解)
题目描述Bessie is leading the cows in an attempt to escape! To do this, the cows are sending secret binary messages to each other. Ever the clever counterspy, Farmer John has intercepted the first b_i (1原创 2017-12-10 09:15:58 · 649 阅读 · 0 评论 -
【bzoj3012】[Usaco2012 Dec]First(题解)
题目描述小x在学习字符串的时候,对字符串的字典序很感兴趣。 他现在有N个字符串,他想知道,如何安排不同的字典序,能够让那些字符串按照某种字典序能够排在N个字符串的第一个。 比如有四个字符串:”omm”, “moo”, “mom”, 和”ommnom”。如果字典序是标准字典序,”mom”排在第一个。如果按照”abcdefghijklonmpqrstuvwxyz”这个顺序排,”omm”排在第一个,无原创 2017-12-09 18:20:28 · 339 阅读 · 0 评论 -
51nod 1129 字符串最大值(题解)
题目描述一个字符串的前缀是指包含该字符第一个字母的连续子串,例如:abcd的所有前缀为a, ab, abc, abcd。 给出一个字符串S,求其所有前缀中,字符长度与出现次数的乘积的最大值。 例如:S = “abababa” 所有的前缀如下: “a”, 长度与出现次数的乘积 1 * 4 = 4, “ab”,长度与出现次数的乘积 2 * 3 = 6, “aba”, 长度与出现次数的乘...原创 2018-04-06 16:43:43 · 329 阅读 · 0 评论