HUST 1328
来源:互联网 发布:报表软件下载 编辑:程序博客网 时间:2024/06/04 19:21
主要利用next数组
O(n)时间遍历字符串,计算当前以i结尾的字符串有几个和要求字符串匹配的
#include<stdio.h>#include<string.h>char s[100100];int next[100100];void getnext(){int i=1,j=0,k;next[1]=0;k=strlen(&s[1]);while(i<=k+1){if(j==0 || s[i]==s[j]){i++,j++;next[i]=j;}elsej=next[j];}}int main(){int t,T,i,len;int ans[100100];long long all;scanf("%d",&T);for(t=1;t<=T;t++){ all=0; scanf("%s",&s[1]); memset(ans,0,sizeof(ans)); getnext(); len=strlen(&s[1]); for(i=1;i<=len;i++){ans[i]=ans[next[i+1]-1];ans[i]+=1;all+=ans[i]; } printf("%lld\n",all);}}
- HUST 1328
- HUST 1328 String KMP
- 【hust 1328】 - String
- HUST
- HUST
- HUST
- HUST
- hust 1328 String (kmp+dp)
- HUST 1328 String KMP 递增思路
- HUST-1010
- HUST 1408
- hust 1602
- HUST 1525
- hust 1010
- HUST 1422
- HUST 1563
- hust 1592
- HUST 1017
- eclipse servlet报错
- [水题][hdoj_1089]A+B for Input-Output Practice (I)
- 模板和多态策略化加锁
- 【转】verilog误区
- 新浪微博开发笔记
- HUST 1328
- 安家感言
- 同是IT小小鸟——《我是一只IT小小鸟》读书笔记
- 关于创建SQLSERVER MAVEN库的方法
- stanford parser使用
- [水题][hdoj_1090]A+B for Input-Output Practice (II)
- as3 xml做音乐播放器含频谱
- 努力吧!为了你骚年的精彩
- 写给自己--人生中最黯淡的时光--希望自己记住现在的自己