题目大意:有一段优美的旋律,他们是由一些不超过88的音调组成的。若把五个音调算作一小节,问是否有超过一小节的韵律相同(差相同,且两个相同的韵律之间不能有重叠),并求这个最长的长度。
思路:这个题是男人八题之一,正解是后缀自动机,可是我不会。但是某神犇说过:“Hash大法好”。于是这个题Hash+二分也可以解决。分析时间复杂度,2w个点,二分logn,hash挂链判断O(kn),总复杂度O...
分类:
其他好文 时间:
2014-10-13 13:01:19
阅读次数:
198
题目:有很多工人,对应一个能力描述表,每种能力有一个权值,求每个工人的能力值。
分析:字符串,hash表,字典树。利用散列表或者字典树存储对应的单词和权值,查询即可。
说明:注意初始化,计算完将数据清除。
#include
#include
#include
#include
using namespace std;
//hash_define
typedef struct hn...
分类:
其他好文 时间:
2014-10-05 10:51:38
阅读次数:
163
Long Long MessageProblem's Link:http://poj.org/problem?id=2774Mean:求两个字符串的最长公共子串的长度。analyse:前面在学习后缀数组的时候已经做过一遍了,但是现在主攻字符串hash,再用字符串hash写一遍。这题的思路是这样的:1...
分类:
其他好文 时间:
2014-10-04 23:50:17
阅读次数:
265
OulipoProblem's Link:http://poj.org/problem?id=3461Mean:给你一个模式串P和一个母串S,让你统计P串在S串中出现的次数。analyse:这题我一开始想到的就是使用KMP,就用KMP写了,93ms,挺快的。我又用AC自动机写了一遍(纯属娱乐),万万...
分类:
其他好文 时间:
2014-10-04 15:16:47
阅读次数:
164
想到两点就行:
1、相邻项相减,处理出相对高度,这样如果pattern或者text增加的话,就没问题了
2、KMP匹配O(n)
HASH的话 ,我WA在第25组数据了,听说如果改为大素数取模就能AC
KMP AC了 但是好奇怪我的KMP模板难道有问题??
先贴KMP ac 代码
//#pragma comment(linker, "/STACK:102400000,102400...
分类:
其他好文 时间:
2014-10-02 17:02:23
阅读次数:
308
题意:
给定一个字符串,从任意位置把它切为两半,得到两条子串
定义 子串1为s1,子串2为s2,子串1的反串为s3,子串2的反串为s4
现在从s1 s2 s3 s4中任意取出两个串组合,问有多少种不同的组合方法
#include
#include
#include
#include
#include
#include
#include
#include
#inc...
分类:
其他好文 时间:
2014-09-25 17:05:17
阅读次数:
165
题意: 给一个字符串,和m,l, 找出这样的子串: 长度为m*l, 由m个长度为l的串组成,每个串都不同。(s,size()
字符串hash典例。 这里用的是bkdrhash 法。也是最常用的冲突最少的一种。原理:把字符串和数值对应。这里用base=31(一般用质数),
先是扫一遍,处理处每个位子到结尾构成的串的hash值(倒过来的),然后长度为l的子串的haash值就好算了。
之后枚举开头...
分类:
其他好文 时间:
2014-09-19 17:45:45
阅读次数:
147
Codeforces Round #267 (Div. 2)
A:签到题,直接for一遍
B:取异或就是不同的数,然后bitcount一下判断即可
C:dp,dp[i]表示到i的最大值,然后对取与不取当前位置进行转移即可,要先把前缀和预处理出来
D:先利用map,把字符串hash掉,然后建图,现场在做的时候是直接记忆化搜索,不过这样处理不了环的情况,果断fst了,后来换了下...
分类:
其他好文 时间:
2014-09-19 12:07:15
阅读次数:
196
Chinese Knot
Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge
Chinese knot is a decorative handicraft that began as a form of Chinese folk artifact in the Tang and Song Dynas...
分类:
其他好文 时间:
2014-09-10 09:40:50
阅读次数:
304
Java 生成字符串的Hash值: /** * A hashing method that changes a string (like a URL) into a hash suitable for using as a * disk filename. */ p...
分类:
编程语言 时间:
2014-09-09 12:18:08
阅读次数:
1072