题目名称 453. 字符串哈希
输入输出 stringhash.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 GravatarPom 于2010-09-01加入
开放分组 全部用户
提交状态
分类标签
散列 字符串
分享题解
通过:79, 提交:214, 通过率:36.92%
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.000 s 0.00 MiB C++
GravatarHzoi_Go灬Fire 100 0.033 s 9.92 MiB C++
GravatarBokjan 100 0.034 s 0.29 MiB C++
Gravatarxbwcan 100 0.034 s 0.29 MiB C++
GravatarGo灬Fire 100 0.034 s 9.92 MiB C++
Gravatarliu_runda 100 0.035 s 0.29 MiB C++
Gravatar紫葉 100 0.035 s 0.31 MiB C++
Gravatar真呆菌 100 0.036 s 0.29 MiB C++
Gravatar旋转华尔兹 100 0.037 s 0.26 MiB C++
Gravatarwfwfwf 100 0.037 s 0.31 MiB C++
关于 字符串哈希 的近10条评论(全部评论)
可供参考
Gravatar粘粘自喜
2016-07-08 11:26 7楼
水点积分.......
Gravatarstdafx.h
2015-12-23 12:05 6楼
我的字符串读入
Gravatar752199526
2014-07-08 09:22 5楼
看过评论再做的竟然还跪了3次,丢脸。
GravatarBokjan
2014-03-08 14:46 4楼
当len==0时,接下来是空串还有一个seed,空串注意不要读取,seed还要读取。
GravatarTruth.Cirno
2011-10-30 11:20 3楼
注意当len==0时候他不会给你串、而是继续给你个seed(也就是说这组数据只有len seed)。
GravatarYeehok
2011-10-30 11:17 2楼
过了
Gravatar201101
2011-10-25 14:12 1楼

453. 字符串哈希

★   输入文件:stringhash.in   输出文件:stringhash.out   简单对比
时间限制:1 s   内存限制:256 MiB

字符串哈希是一种非常好用的算法,它可以将一个字符串用一个整数来表示(尽管有时候会发生冲突),这是非常方便的.
现在小H拿着一些字符串来找你,希望你能帮她把这些字符串按照给定的规则转换成哈希值..

一个长度为n的字符串c1,c2,c3..cn-1,cn的哈希值=它的子串c1,c2,c3..cn-1的哈希值乘以一个常数Seed,再加上cn的ASCII值,
最后对一个整数2147483647求 “和” 运算的结果(“和”为位运算中的和,分别是Pascal中的and和C/C++中的&)
请注意,空串的哈希值为0

输入格式:
有N组数据
第一行是一个整数N
接下来有若干组数据,每个数据第一行是一个数len(len<=20),表示字符串的长度
下面一行有一个字符串和一个整数Seed,用一个空格隔开,字符串中只可能包含'a'..'z','1'..'9','A'..'Z'

输出格式:
共N行,每行一个整数即为对应数据的哈希值


样例输入:
1
6
yznJS1 131

样例输出:
1306619859


数据范围:
N<=10000
Seed<=131
其他如题。

 

by pom