第六次个人赛C题 Count the string vector/KMP next数组
来源:互联网 发布:hadoop的端口号 编辑:程序博客网 时间:2024/05/17 14:29
Count the string
http://acm.hdu.edu.cn/showproblem.php?pid=3336
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 883 Accepted Submission(s): 382
Problem Description
It is well known that AekdyCoin is good at string problems as well as number theory problems. When given a string s, we can write down all the non-empty prefixes of this string. For example:
s: "abab"
The prefixes are: "a", "ab", "aba", "abab"
For each prefix, we can count the times it matches in s. So we can see that prefix "a" matches twice, "ab" matches twice too, "aba" matches once, and "abab" matches once. Now you are asked to calculate the sum of the match times for all the prefixes. For "abab", it is 2 + 2 + 1 + 1 = 6.
The answer may be very large, so output the answer mod 10007.
s: "abab"
The prefixes are: "a", "ab", "aba", "abab"
For each prefix, we can count the times it matches in s. So we can see that prefix "a" matches twice, "ab" matches twice too, "aba" matches once, and "abab" matches once. Now you are asked to calculate the sum of the match times for all the prefixes. For "abab", it is 2 + 2 + 1 + 1 = 6.
The answer may be very large, so output the answer mod 10007.
Input
The first line is a single integer T, indicating the number of test cases.
For each case, the first line is an integer n (1 <= n <= 200000), which is the length of string s. A line follows giving the string s. The characters in the strings are all lower-case letters.
For each case, the first line is an integer n (1 <= n <= 200000), which is the length of string s. A line follows giving the string s. The characters in the strings are all lower-case letters.
Output
For each case, output only one number: the sum of the match times for all the prefixes of s mod 10007.
Sample Input
14abab
Sample Output
6题意很简单,可以有重叠的字串计算,比如aaaa的答案是10。这题是KMP算法next数组的运用,但是好好想想就知道不至于那么复杂,下面是我的vector容器做法,还有附上大牛的简单做法。KMP算法在最后面,后兴趣的可以研究一下:
- 第六次个人赛C题 Count the string vector/KMP next数组
- Count the string kmp next数组应用
- [KMP-NEXT数组特性]HDU 3336 Count the string
- Hdu 3336 Count the string[KMP next数组的理解]
- HGU3336 Count the string (KMP Next数组的应用)
- HDU3336-Count the string-KMP(next数组理解)
- Count the string (kmp的next数组运用)
- 【HDU 3336】Count the string 【KMP next数组巧妙应用】
- hdu3336 Count the string(next数组)
- Count the string next数组+DP
- HDU 3336 Count the string(KMP算法next数组的应用)
- HDU 3336 Count the string(KMP+Next数组递推)
- HDU 3336 Count the string(KMP+稍微DP+next数组的运用)
- HDU 3336 Count the string(kmp next数组的性质)
- HDU3336 Count the string(KMP,next的性质)
- Count the string + KMP
- Count the string (KMP)
- HDU 3336 Count the string (next数组活用)
- STSADM operations (with parameters) in MOSS 2007 SP1
- 第六次个人赛B题 Piggy-Bank 背包DP
- 一个新产品经理眼中的产品策划
- esed
- 祝好!
- 第六次个人赛C题 Count the string vector/KMP next数组
- 第六次个人赛D题 Fibonacci Numbers 递归+公式
- 模拟提交中multipart/form-data提交需要注意的问题
- 3 major fashion trend of the United States out of
- 集训终点
- Win7/2008 Server 创建扩展分区
- ubuntu 安装图形界面
- 这是个什么东东啊?
- 解决当刷新页面,按钮控件保留的状态的问题(asp.net)