【Kmp求字符串前缀在字符串出现的次数】51nod 1277 字符串中的最大值
来源:互联网 发布:linux服务器换编码 编辑:程序博客网 时间:2024/05/16 15:46
Link:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1277
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;/*51nod 1277 字符串中的最大值求前缀在字符串出现的次数 (num[i])num[nex[i]] += num[i];*/const int N = 100010;char s[N];int nex[N];void getnext(){ int len = strlen(s); int k = -1; nex[0] = -1; for(int i = 1; i < len; i++){ while(k!=-1 && s[k+1]!=s[i]) k = nex[k]; if(s[k+1]==s[i]) k++; nex[i] = k; }}int mp[N];int main(){ scanf("%s",s); getnext(); int len = strlen(s); memset(mp,0,sizeof(mp)); for(int i = len; i >= 1; i--){ mp[i]++; mp[nex[i-1]+1] += mp[i];// printf("%d %d \n",i,mp[i]); } LL mx = 0; for(int i = 1; i <= len; i++){ mx = max(mx,(LL)i*(LL)mp[i]); } printf("%lld\n",mx); return 0;}
阅读全文
0 0
- 【Kmp求字符串前缀在字符串出现的次数】51nod 1277 字符串中的最大值
- 51nod-1277 字符串中的最大值(KMP)
- kmp-51nod 1277 字符串中的最大值
- 51 nod 1277 字符串中的最大值(KMP)
- 51nod 1277 字符串中的最大值(KMP)
- [KMP next树] 51Nod 1277 字符串中的最大值
- 51NOD 1277 字符串中的最大值 【拓展KMP】
- 【KMP next树】51nod 1277 字符串中的最大值
- 51nod 1277 字符串中的最大值【KMP算法】【next树】
- 51nod 1277 字符串中的最大值(kmp)
- hdu 4552 求所有字符串前缀在字符串中出现的总次数
- 51nod 1277 字符串中的最大值
- 51nod 1277 字符串中的最大值
- 51nod 1277 字符串中的最大值
- 51Nod-1277-字符串中的最大值
- 51Nod-1277-字符串中的最大值
- Trie树的编程实现,用于计算字符串出现次数,求公共前缀字符串等问题
- 51Nod 1277 字符串中的最大值 KMP next数组经典应用
- 51nod--1089 最长回文子串V2(Manacher 算法)
- JDBC(6)—BeanUtils
- 常见C/C++笔试、面试题
- [poj2234]Matches Game nim游戏
- 奶爸的生活
- 【Kmp求字符串前缀在字符串出现的次数】51nod 1277 字符串中的最大值
- Flowery Trails 多条最短路边长之和
- IO
- JDBC- 正确关闭数据库连接
- 输入法切换 圆角与半圆
- 7.24排序讲座总结
- POJ 3096: Surprising Strings (水)
- 解题报告:HDU_5656 CA Loves GCD DP
- 对Redis的初步理解