
hash
JW_7066
这个作者很懒,什么都没留下…
展开
-
hdu 3068最长回文(hash)
题目链接:【hdu 3068】 求一个字符串(len 一般解法是manacher,但是这一题用hash也是可以ac的 假设当前判断的是以i为中心偶数最长回文串,那么s[2*i+1-k……i]与s[i+1……k]的哈希值必定相同 假设当前判断的是以i为中心奇数最长回文串,那么s[2*i-k……i-1]与s[i+1……k]的哈希值必定相同 用二分求出相应的k #include #incl原创 2016-01-18 19:30:17 · 1112 阅读 · 0 评论 -
HDU 1560 DNA sequence(BFS+hash)
题目链接:【HDU 1560】 输入n个字符串,找出最短的序列(从前往后,这n个字符串均能在这个序列中找到,不要求连续) 枚举第i个位置的可能性,一共四个字母“ACGT”,我一开始直接记录前i个字符,结果MLE了 用哈希优化,has用来记录枚举到第i个位置时,所有的字符串已经匹配掉后得到的哈希值,v[]用来记录目前已经有多少个字母已经匹配掉了 看题目中的数据,ACGT、ATGC、CGTT、原创 2016-01-27 19:46:45 · 520 阅读 · 0 评论 -
HDU 4821 String(hash入门题)
【HDU 4821 String】 输入m,l以及字符串s,求s的子串中满足以下两个条件的个数 1、长度是m*l 2、分为m段,每段长度是l,每段都不一样(两串中只要有一个位置不一样就不同) hash的简单应用,很多博客求哈希值时都说要加1,理由是防止10、100的哈希值相同,但是我认为这个1并不是非加不可的,字符串长度不同,哈希值的位数都不一样(就是has[i] = has[i+原创 2016-01-11 21:59:36 · 517 阅读 · 0 评论 -
hash
#include using namespace std; #define ll __int64 #define ull unsigned long long //自动取余 const int inf = 5e6+10; const ull bas = 311; ull lhas[inf], rhas[inf], base[inf]; char s[inf]; int m原创 2016-10-24 09:59:35 · 433 阅读 · 0 评论