【Kmp求字串字首在字串出現的次數】51nod 1277 字串中的最大值
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;
}
相關文章
- 【KMP求字串匹配次數】 hdu 1686KMP字串匹配
- 統計字串出現的次數(C)字串
- 如何獲取字串中相同字元出現的次數字串字元
- 統計字串中某個字元出現的次數字串字元
- 求出現在字串1而沒有出現在字串2中的字元字串字元
- oracle function函式_獲取某個字串中指定的字串出現的次數OracleFunction函式字串
- 【字串匹配】KMP字串匹配KMP
- 獲得String字串中某個字元出現的次數字串字元
- 2566. [51nod 1129] 字串最大值字串
- 字串相乘——求字串的乘積字串
- 求字串中對稱的子字串的最大長度字串
- 如何計算字串某個字元出現的次數字串字元
- ASP.NET從字串中查詢字元出現次數的方法ASP.NET字串字元
- JavaScript統計字串中字元出現次數JavaScript字串字元
- c++實現輸入一組字串,找出字串中最大最小和統計相同字串出現次數C++字串
- Python字串字首Python字串
- C++字串處理的一個例子:1.查詢一個字元在字串中第n次出現的位置。2分割字串C++字串字元
- 利用HashMap統計字串各個字元出現的次數HashMap字串字元
- 在字串中,尋找第一個只出現一次的字元字串字元
- 輸出字串中出現次數最多的字元和次數字串字元
- js統計字串中單次的個數JS字串
- 第五章 字串專題 ---------------- 5.9 題解:去掉字串中連線出現的k次的0字串
- js如何計算一個字元在字串中出現的次數JS字元字串
- Java小程式--統計指定字串中字元 ‘a’ 出現的次數Java字串字元
- [Shell] 統計字串出現的次數和排序(cut,sort,uniq)字串排序
- 集合框架-統計字串中每個字元出現的次數案例圖解框架字串字元圖解
- javascript實現的任意擷取字串中的子字串JavaScript字串
- javascript獲取字串中出現次數最多的字元JavaScript字串字元
- py匹配字串中間的字串字串
- 統計字串中數字個數,並將數字字串形式輸出字串
- 獲取字串中重複次數最多的字元字串字元
- 從Bash中的字串中刪除固定的字首/字尾字串
- iOS 擷取字串中兩個指定字串中間的字串iOS字串
- python 統計字串裡某個字元出現的次數count()Python字串字元
- KMP字串模式匹配詳解KMP字串模式
- 【模板】【字串】KMP演算法字串KMP演算法
- 集合框架-統計字串中每個字元出現的次數案例程式碼實現框架字串字元
- Js刪除字串中的指定字串JS字串