哈希
a10.
这个作者很懒,什么都没留下…
展开
-
算法竞赛进阶指南 后缀数组 hash解法
题目hash接近尾声了,写篇博客记录一下。首先最简单的就是,暴力拿出n个后缀然后sort,这样复杂度是n^2log n,不大行,有什么更好的方法吗。回想一下如何比较两个字符串的字典序,那就是遇到第一个不相同的字符然后比较大小,所以我们是不是可以先求出lcp,然后下一个位置就是不同的字符呢?根据这一点,我们就可以设计出排序+hash+二分的后缀数组算法了。#include<iostream>#include<algorithm>#include<cstdio>原创 2020-07-17 16:54:02 · 193 阅读 · 0 评论 -
hdu 4821
题目这题比较经典,而且也是区域赛的题,研究了好一会。一开始主要是题目读错了,我还以为是所有位置都不同才叫“多彩的”,结果只是普通的不同……坑了我好久一开始想的是一个一个字符压入弹出,像deque那样,发现没法做…l个l个不相同很难处理,然后就改成每l个每l个的动,这样好处理多了,注意一些边界情况,就没什么问题了。#include<cstdio>#include<algorithm>#include<list>#include<cstring>#原创 2020-07-16 20:49:22 · 81 阅读 · 0 评论 -
hdu 4080
题目这题是第一次二分+哈希,其实跟一开始想的差不多,没有仔细看数据范围,只要用map出存每种长度的字符串出现的次数就可以了,剩下的就是普通的二分。当然要注意,注意一些边界条件会不会进去check,否则用flag去判断可能会出错(wa了19次),可以用其他的东西判断#include<cstdio>#include<algorithm>#include<list>#include<cstring>#include<iostream>#i原创 2020-07-16 16:08:00 · 24573 阅读 · 0 评论