随笔分类 - 字符串
摘要:计蒜客 39278 String String String 2019 ICPC西安邀请赛赛 K 题面 题目链接貌似必须VP才能看题 时间限制:1000 ms 内存限制:256 MB 给定 a,b,c 三个串长度分别为 n1,n2,n3 已知 a 的 所有 La 拓展串构成的
阅读全文
摘要:是男人就过 8 题 Pony.AI 题 A String Game "题目来源" 题意:给一个串t以及n个t的子串s,两个人每轮可以选择一个s在他的后边添加一个字符满足得到的新串仍是t的子串,第一个不能操作的人输。 做法:对s串建SAM,在一个子串后边添加字符,等价于在SAM上向后移动一步,预处理每
阅读全文
摘要:Mail.Ru Cup 2018 Round 2 C. Lucky Days 题意:找出最长的一段连续区间,同时被[la+kata,ra+kata] , [lb+kbtb,rb+kbtb]覆盖。 做法:设最终的答案为[L,R],那么L一定是
阅读全文
摘要:HDU5129 Yong Zheng's Death 做法:看题之后,就想到要建好trie树,然后输出非根节点数的平方,这样显然错了。因为会出现重算的情况,即:你有 ab,cde ,abc,de, abcd, e,这几个串那么 [ab, cde] [abc,de] [abcd,e] 都可以组成 ab
阅读全文
摘要:Codeforces1045I 做法:如果至多有一种字母出现奇数次,则合法,因此把整个串用一个26位2进制数表示,对于每一个数,枚举可能的对应串的状态即可。 c++ include typedef long long ll; inline int read() { char c = getchar(
阅读全文
摘要:HDU6223 Infinite Fraction Path 做法1:枚举每个串取最大值,只用判断前20位,如果前20位都相同,可以认定两个串相同。因为很容易进入循环节,且循环节不太大。 c++ include define pb push_back typedef long long ll; co
阅读全文
摘要:牛客网暑期ACM多校训练营(第三场) A. PACM Team 01背包,输出方案,用bool存每种状态下用的哪一个物品,卡内存。官方题解上,说用char或者short就行了。还有一种做法是把用的物品压成一个int。 c++ include include define rep(i,a,b) for
阅读全文
摘要:2014西安网络赛 A. Post Robot 把每种单词都kmp跑一遍,顺序输出即可 B. Boring String Problem 后缀数组的帮我们排好序了,然后取后缀的前缀即可。严格第k小,就处理一下减去Height[i]即可去重,取前缀和,二分就可以找到严格第k小的串,然后问题就是,求一个
阅读全文
摘要:后缀数组学习笔记 说在前边 1. 学习了《后缀数组——处理字符串的有力工具》终于感觉入门了,就总结一下,主要是应用 2. 原理讲解学习了 [大佬Blog][1] 一些性质 height数组:定义height[i]=suffix(sa[i 1])和suffix(sa[i])的最长公共前缀,也就是排名相
阅读全文
摘要:D. Two Strings Swaps 容易发现,a[i], a[n i+1], b[i], b[n i+1] 可以互相交换,且不会受其他地方影响,关键在于对于这4个字符怎们计算最小的操作数,讨论到死。。。看了别人的代码,用不同的字符对数表示字符的组成,就比较容易判断了。还不太清楚是如何想到的。。
阅读全文
摘要:kmp,扩展 kmp 学习笔记 说再前边 字符串水平基本为0,学了第4遍KMP了,总是忘。。。网上资料很多,就不详细讲解了。抄的kuangbin神犇模板 kmp 一些知识 1. 循环节大小:n nxt[n] 模板[HDU2087] 下标从0开始 nxt[i] 为满足p[i z...i 1]=p[0.
阅读全文
摘要:hash学习笔记 1. 常用函数: hash[i]=∑len1j=is[j]Xji,X≥|字符集| 取多个模,对于一个子串s[i]s[i+1]..s[j]的hash=hash[i]hash[j+1]Xji+1,预处理$
阅读全文