HDU-4552 怪盗基德的挑战书 KMP | 后缀数组 | 暴力
2013-05-21 12:50
267 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4552
题意:求字符串中所有前缀的出现的次数。
比赛的时候使用后缀数组写的,后来比完后发现KMP+DP完全可以搞,当时沙茶了- -。然后更神奇的是,这题数据太弱了,暴力完全够了,对于随机数据,基本上就是O(n)的算法,当然如果完全每个字符都一样,那么就是O( n^2 )了。然后...我就缩代码到151B,刷到status第一了~
后缀数组:
View Code
题意:求字符串中所有前缀的出现的次数。
比赛的时候使用后缀数组写的,后来比完后发现KMP+DP完全可以搞,当时沙茶了- -。然后更神奇的是,这题数据太弱了,暴力完全够了,对于随机数据,基本上就是O(n)的算法,当然如果完全每个字符都一样,那么就是O( n^2 )了。然后...我就缩代码到151B,刷到status第一了~
后缀数组:
//STATUS:C++_AC_0MS_712KB #include<stdio.h> #include<string.h> int main() { int i,j,n,t[100010],a; char s[100010]; while(~scanf("%s",s)){ n=strlen(s);a=j=0,i=t[0]=-1; while(j<n) if(i==-1 || s[i]==s[j])t[++j]=++i; else i=t[i]; for(i=1;i<=n;i++) for(j=t[i];j!=0;j=t[j])a++; printf("%d\n",(a+n)%256); } return 0; }
View Code
相关文章推荐
- HDU 4552 怪盗基德的挑战书 (KMP + DP) 或 后缀数组
- 【HDU 4552】怪盗基德的挑战书 【KMP next数组的巧妙应用】
- 【HDU】4552 怪盗基德的挑战书 【后缀数组】
- hdu 4552 怪盗基德的挑战书【KMP+dp || 优雅暴力】
- 【HDU 4552】怪盗基德的挑战书(kmp)
- hdu 4552 怪盗基德的挑战书 (kmp+dp)
- 怪盗基德的挑战书 HDU - 4552 (kmp思维)
- HDU 4552 怪盗基德的挑战书(kmp+dp)
- HDU 4552 怪盗基德的挑战书(很巧妙的暴力)
- HDU 4552 怪盗基德的挑战书 (后缀数组,4级)
- Hdu 4552 怪盗基德的挑战书 (所有前缀出现次数和 后缀数组或KMP)
- HDU 4552 怪盗基德的挑战书 (后缀数组,4级)
- 【后缀数组】 HDOJ 4552 怪盗基德的挑战书
- HDU - 4552 怪盗基德的挑战书 (后缀数组)
- hdu 4552 怪盗基德的挑战书
- HDU 4552 怪盗基德的挑战书
- 怪盗基德的挑战书 HDU - 4552
- HDU 5442 Favorite Donut(暴力 or 后缀数组 or 最大表示法)
- HDU-4552-怪盗基德的挑战书
- [hdu 4552] 怪盗基德的挑战书