随笔分类 -  字符串

1 2 下一页

Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined) F. Substrings in a String
摘要:http://codeforces.com/contest/914/problem/F 以前做过一个类似的,但是查询的子串长度最多是10,这个时候就是用bit + hash做了。这是因为改变一个字符,只需改变它后面10个的hash值就够了,多余的不影响,因为查询去不到那里。(只记得是今年的网络赛来的 阅读全文

posted @ 2018-01-21 16:31 stupid_one 阅读(190) 评论(0) 推荐(0) 编辑

B P5 第十三届北航程序设计竞赛预赛
摘要:https://buaacoding.cn/contest-ng/index.html#/188/problems 其实这题挺简单的。 注意到答案的大小最多是22 二分,check长度是mid的不同子串有多少个,然后,如果不是1 << mid个,那么肯定是不行的。 想到了这个,我居然用了字符串has 阅读全文

posted @ 2017-12-18 10:02 stupid_one 阅读(363) 评论(0) 推荐(0) 编辑

suffix ACM-ICPC 2017 Asia Qingdao
摘要:Consider n given non-empty strings denoted by s1 , s2 , · · · , sn . Now for each of them, you need to select a corresponding suffix, denoted by suf1, 阅读全文

posted @ 2017-11-15 14:36 stupid_one 阅读(849) 评论(0) 推荐(0) 编辑

A. Yet Another Problem with Strings 分块 + hash
摘要:http://codeforces.com/gym/101138/problem/A 感觉有一种套路就是总长度 <= 某一个数的这类题,大多可以分块 首先把集合串按长度分块,对于每一个询问串, 在 > magic的big集合里,因为最多sqrtn个,可以暴力枚举每一个,然后暴力枚举询问串的每一个长度 阅读全文

posted @ 2017-10-20 22:42 stupid_one 阅读(326) 评论(0) 推荐(0) 编辑

hdu 2222 ac自动机更新模板 for onSite contest
摘要:http://acm.split.hdu.edu.cn/showproblem.php?pid=2222 #include <cstdio> #include <cstdlib> #include <cstring> const int maxn = 1000000 + 20; const int 阅读全文

posted @ 2017-10-08 07:24 stupid_one 阅读(192) 评论(0) 推荐(0) 编辑

#1413 : Rikka with String 后缀自动机 + 二级差分
摘要:http://hihocoder.com/problemset/problem/1413?sid=1199641 这题断断续续做了2个多星期吧,一直不会 设总答案为sum,替换后新加的子串数量为x,失去的是y,那么每个位置的答案就是sum + x[i] - y[i] 首先可以知道如果把某个位置设置成 阅读全文

posted @ 2017-09-29 11:11 stupid_one 阅读(236) 评论(0) 推荐(0) 编辑

HDU - 6208 The Dominator of Strings HDU - 6208 AC自动机 || 后缀自动机
摘要:https://vjudge.net/problem/HDU-6208 首先可以知道最长那个串肯定是答案 然后,相当于用n - 1个模式串去匹配这个主串,看看有多少个能匹配。 普通kmp的话,每次都要O(mxLen)的复杂度肯定不行。考虑AC自动机,不说这个算法了都懂。 大概就是,询问主串的时候用F 阅读全文

posted @ 2017-09-17 21:40 stupid_one 阅读(273) 评论(2) 推荐(0) 编辑

SETI ACdream - 1430 后缀自动机求不相交子串
摘要:http://blog.csdn.net/gatevin/article/details/45875343 题目是求不重叠的不同子串个数 一般来说, endpos集合包含了子串结尾位置,结尾在"3、4、6"等 每个状态都包含了若干个连续子串。就是"aabab", "abbab", "bbab", " 阅读全文

posted @ 2017-09-11 13:46 stupid_one 阅读(368) 评论(0) 推荐(0) 编辑

E. Three strings 广义后缀自动机
摘要:http://codeforces.com/problemset/problem/452/E 多个主串的模型。 建立一个广义后缀自动机,可以dp出每个状态的endpos集合大小。同时也维护一个R[]表示那个串出现过。 所以可以算出每个状态的dp[i][k]表示第k个串在第i个状态中出现的次数。 可以 阅读全文

posted @ 2017-09-10 01:27 stupid_one 阅读(260) 评论(0) 推荐(0) 编辑

Substring Frequency (II) LightOJ - 1427 AC自动机
摘要:https://vjudge.net/problem/LightOJ-1427 把所有模式串加入ac自动机,然后search的时候暴力,每个子串都暴力一下就好。 其实AC自动机就是,先建立好trie图。预处理加速查找 然后查找有多少个模式串的时候,相当于一个暴力, 每一次循环,其实就是枚举文本串的每 阅读全文

posted @ 2017-09-06 14:29 stupid_one 阅读(264) 评论(0) 推荐(0) 编辑

D. Match & Catch 后缀自动机 || 广义后缀自动机
摘要:http://codeforces.com/contest/427/problem/D 题目是找出两个串的最短公共子串,并且在两个串中出现的次数只能是1次。 正解好像是dp啥的,但是用sam可以方便很多,复杂度n^2 首先对两个串建立sam,拓扑dp出endpos集合的大小,然后枚举第二个串的所有子 阅读全文

posted @ 2017-09-06 10:48 stupid_one 阅读(260) 评论(0) 推荐(0) 编辑

二维hash
摘要:题目描述 给出一个n * m的矩阵。让你从中发现一个最大的正方形。使得这样子的正方形在矩阵中出现了至少两次。输出最大正方形的边长。 输入描述: 第一行两个整数n, m代表矩阵的长和宽; 接下来n行,每行m个字符(小写字母),表示矩阵; 输出描述: 输出一个整数表示满足条件的最大正方形的边长。http 阅读全文

posted @ 2017-08-28 20:14 stupid_one 阅读(256) 评论(0) 推荐(0) 编辑

Bazinga HDU - 5510 不可做的暴力
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5510 想了很久队友叫我用ufs + kmp暴力过去了。 fa[x] = y表示x是y的子串,所以只有fa[x] == x才需要kmp一次。 那么这样的话,如果全部都不互为子串的话,复杂度还是爆咋的。 #inclu 阅读全文

posted @ 2017-08-21 22:24 stupid_one 阅读(156) 评论(0) 推荐(0) 编辑

HDU - 5920 Ugly Problem 求解第一个小于n的回文数
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5920 http://www.cnblogs.com/xudong-bupt/p/4015226.html 把前半部分复制过去,如果太大,那么早到第一个会使得其太大的点,减1,然后对应的中间的变成9 #includ 阅读全文

posted @ 2017-08-20 19:59 stupid_one 阅读(281) 评论(0) 推荐(0) 编辑

HUID 5558 Alice's Classified Message 后缀数组+单调栈+二分
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5558 对于每个后缀suffix(i),想要在前面i - 1个suffix中找到一个pos,使得LCP最大。这样做O(n^2) 考虑到对于每一个suffix(i),最长的LCP肯定在和他排名相近的地方取得。 按排名 阅读全文

posted @ 2017-08-06 23:07 stupid_one 阅读(283) 评论(0) 推荐(0) 编辑

Harry And Biological Teacher 分块 + 字符串hash
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5069 首先判断suffix和prefix最长多少可以直接暴力枚举长度然后 + hash可以立马判断是否相等,复杂度O(lenstr) 现在知道总长度 <= 1e5, magic = sqrt(lenstr) 那么 阅读全文

posted @ 2017-08-04 22:56 stupid_one 阅读(210) 评论(0) 推荐(0) 编辑

后缀自动机 && 题目
摘要:因为明天要讲解后缀自动机了,所以只能抱抱佛脚,临时做做题目。其实很久以前看过,但是不太懂,看的是clj的原文,不太懂。现在只能临时看看是怎么弄的,应付下。 1、自动机A为后缀自动机,A(sub) = true当且仅当sub是str的后缀。 2、一个较差的和后缀自动机有相同功能的东西是trie,把所有 阅读全文

posted @ 2017-08-02 20:52 stupid_one 阅读(388) 评论(1) 推荐(0) 编辑

HDU 2243 考研路茫茫——单词情结 求长度小于等于L的通路总数的方法
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2243 这是一题AC自动机 + 矩阵快速幂的题目, 首先知道总答案应该是26^1 + 26^2 + 26^3 .... + 26^L,用等比数列的前n项和是无法做的,因为出现小数。 这个可以直接看到F[n] = 2 阅读全文

posted @ 2017-03-02 13:01 stupid_one 阅读(507) 评论(0) 推荐(0) 编辑

POJ 2778 DNA Sequence AC自动机 + 矩阵快速幂
摘要:http://poj.org/problem?id=2778 首先将病毒串假如去AC自动机上。然后构造trie图后。 题目是要构造一个长度为len的,不包含那些病毒的串,的种类数。 转化题目,就是要求在root点上,走len步,能有多少种情况不走到病毒串上。 那么,对于每一个AC自动机上的节点,我们 阅读全文

posted @ 2017-03-01 12:50 stupid_one 阅读(188) 评论(0) 推荐(0) 编辑

HDU 2457 DNA repair AC自动机 + dp
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2457 首先把病毒串保存一下,然后对于每一个trie上的节点,跑一发AC自动机,建立一个trie图。 建立的时候,对应做一些修改。 比如,现在建立成了这个样子。 如果he是一个病毒串,那么应该相对应的,把she那个 阅读全文

posted @ 2017-02-28 23:05 stupid_one 阅读(270) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示