2 shunfurh shunfurh 于 2017.09.19 13:36 提问

Crazy Search

Description

Many people like to solve hard puzzles some of which may lead them to madness. One such puzzle could be finding a hidden prime number in a given text. Such number could be the number of different substrings of a given size that exist in the text. As you soon will discover, you really need the help of a computer and a good algorithm to solve such a puzzle.
Your task is to write a program that given the size, N, of the substring, the number of different characters that may occur in the text, NC, and the text itself, determines the number of different substrings of size N that appear in the text.

As an example, consider N=3, NC=4 and the text "daababac". The different substrings of size 3 that can be found in this text are: "daa"; "aab"; "aba"; "bab"; "bac". Therefore, the answer should be 5.
Input

The first line of input consists of two numbers, N and NC, separated by exactly one space. This is followed by the text where the search takes place. You may assume that the maximum number of substrings formed by the possible set of characters does not exceed 16 Millions.
Output

The program should output just an integer corresponding to the number of different substrings of size N found in the given text.
Sample Input

3 4
daababac
Sample Output

5

1个回答

devmiao
devmiao   Ds   Rxr 2017.10.04 09:21
已采纳
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
hdu 1381 Crazy Search
字符串
POJ1200 Crazy Search
题目描述DescriptionMany people like to solve hard puzzles some of which may lead them to madness. One such puzzle could be finding a hidden prime number in a given text. Such number could be the number of different substrings of a given size that exist in the
Crazy Search
链接:http://acm.hust.edu.cn/vjudge/problem/17714/origin 题目:Many people like to solve hard puzzles some of which may lead them to madness. One such puzzle could be finding a hidden prime number in a g
POJ1200 Crazy Search(hash)
题意: 给一个有nc种字符的字符串,要求它有几个大小为n的子串。 要点: 字符串长度可以是16000000但字符总数最多300,所以hash是必不可少的。先将nc种字符一一对应到hash数组中,只存入第一次出现的位置,使每一个字符都对应这0---nc-1的一个数字,然后是重点:将长度为n的子串看作n位的nc进制数,将问题转化为共有多少种十进制数字,用数组记录,最后遍历子串即可。
poj 1200 Crazy Search
题目:     链接:点击打开链接 题意:     输入n和nc,以及字符串s,输出长度为n的不同字串的个数。 算法:      思路:     用hash判重(hash值。。。。。。),看了大牛的代码,对hash还是不甚理解。。。。 代码:#include #include #include #include using namespace std; #define MAXN 1
Crazy Search (P1200)
简单的HASH,可是要注意,这里不全是小写字母,所以要用数组a[ ]转换一下。 #include #include #include #include using namespace std; //freopen("C://i.txt","r",stdin); #define N 16000001 int name[N]; bool hash[N]; int n,nc; cha
poj-1200 Crazy Search
Language: Default Crazy Search Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19424   Accepted: 5506 Description Many people like to solve hard puzzles some
(POJ - 1200)Crazy Search
(POJ - 1200)Crazy Search Many people like to solve hard puzzles some of which may lead them to madness. One such puzzle could be finding a hidden prime number in a given text. Such number could be the number of
POJ 1200 Crazy Search 笔记
由NC个不同字母组成的字符串。求长度为N的不同子串数目。
[POJ] 1200 Crazy Search [HASH]
题意:给你一个很长的字符串,有NC种字符,给你子串的长度N,问在这个很长的字符串中有多少不同长度为N的子串; 思路:把字母用数字来表示,daababac->12231314,然后每个子串用NC进制表示,存进数组里面,再用hash来判断; 上代码 #include #include #include #include #include using namespace std; #de