
hash
文章平均质量分 76
yeqm_
作为解题记录
展开
-
poj 3349 HASH
第一道题学习哈希。 原解博客http://blog.youkuaiyun.com/alongela/article/details/8245005 边看边思考,个人的理解是,哈希将一串数字的某种特征提取出来,比如本题,提取出的特征是和取模, 只有具有相同的和取模的字符串才进行比较,节省了大量无用的比较,如果暴力,那么每两个字符串都将比较一次,O(n^2)加上这么大的数据量是要TLE的。而哈希将比较缩短到一个原创 2015-10-19 20:52:40 · 276 阅读 · 0 评论 -
poj 1200 hash
瞄了别人的解法才会做 http://www.cnblogs.com/rainydays/archive/2011/06/23/2088081.htmlhash题要想出合适的hash方法也是一个关键。将字符串转变成数字串,如果知道了最多有n个字符串,就等于是数字最大不超过n,把字符串看做n进制,就可以每一个独一无二的数字串转变为一个独一无二的十进制数字。#include #inclu原创 2015-10-20 20:45:20 · 302 阅读 · 0 评论 -
POJ3274HASH
这道题是按官方解题报告做的。 bi[i][j]求出第i个数第j个feature的总数 所求为 所有(bi[i][k]-b[j][k],k∈(1,m))相等 转化为(bi[i][k]-bi[i][0])=(bi[j][k]-bi[j][0])k∈(1,m) 相等 即求bi[i]与b[j]这一串数相等时最大的j-i →→→ 即找相同的bi[i]. 然后将每一串b[i]hash提高查找原创 2015-10-20 13:37:34 · 285 阅读 · 0 评论 -
poj 1743 hash
求差,不多说了一开始的思路是先找到4个相同的串,找出最长串。果断TLE然后瞄了解题报告,用二分加速http://www.mamicode.com/info-detail-252988.html自己的代码存在许多小问题,修改到崩溃#include #include#include #include #include#include usin原创 2015-10-22 12:27:39 · 309 阅读 · 0 评论 -
poj 1840hash
a1+a2+a3+a4+a5=0;转化成a1+a2=-(a3+a4+a5);即先储存,后查找;#include #include#include #include #include#include using namespace std; #define lch(i) ((i)<<1) #define rch(i) ((i)<<1|1) #defin原创 2015-10-23 15:10:39 · 252 阅读 · 0 评论 -
poj 2503 hash
一道练模板的题用stl就可以直接过,1500+ms自己写hash搜索,300+ms#include #include#include #include #include#include using namespace std; #define lch(i) ((i)<<1) #define rch(i) ((i)<<1|1) #define sqr(原创 2015-10-24 13:19:25 · 282 阅读 · 0 评论 -
poj 2002 hash
找到两个点,算出组成正方形的另外两个点,如果都存在就true;一直都是用这个n进制哈希方法,因为第一次遇见被它惊呆了。1032ms#include #include#include #include #include#include using namespace std; #define lch(i) ((i)<<1) #define rch(i) (原创 2015-10-24 20:10:45 · 269 阅读 · 0 评论