Hash
文章平均质量分 81
捡石子的小孩
这个作者很懒,什么都没留下…
展开
-
Snowflake Snow Snowflakes poj3349
一道简单的hash,对于每个雪花将其六片花瓣的长度相加,然后模一个较大的质数,作为其hash值。若出现hash值相同的雪花,再判断这两片雪花是否相同(各片分别花瓣长度分别相同且相对位置相同) #include #include #include #include using namespace std; const int M=100001; struct { int a原创 2012-11-03 15:00:24 · 610 阅读 · 0 评论 -
Eqs poj1840
数字哈希,原式变形为a1*x1^3+a2*x2^3=-(a3*x3^3+a4*x4^3+a5*x5^3),所以只需判断左右两边相等即可。 具体做法,先枚举出左式可得到的值,存入hash中,然后再枚举右式,若在hash中有该值,则count++。 //要使原式等于0,可将原式拆成左右两式,然后判断左右两边相等 #include #include #include using name原创 2012-11-03 21:45:14 · 581 阅读 · 0 评论 -
Babelfish poj2503
简单的字符串哈希,没什么说的,纪念一下我的hash之路吧 #include #include #include #include using namespace std; char a[100000][11],b[100000][11]; vectorhash[200001]; unsigned int BKDRHash(char *str) { unsigned i原创 2012-11-03 20:02:26 · 531 阅读 · 0 评论 -
Gold Balanced Lineup poj3274
这道题感觉真的很好,做完之后对hash的理解也更加深刻了。自己当时没想到能用hash,后来看了官方解后才恍然大悟,不过真的很难想到这样转化啊 首先用sum[i][j]表示从第一行到第i行具有特性j的牛的头数,显然若满足 sum[i][t]-sum[j][t]=常数 (1(1<=j<=k) ,所以上等式等价于 c[i][t]=c[j][t](1 #include #include #in原创 2012-11-05 23:38:34 · 705 阅读 · 0 评论