描述
在文字分析中常用到n-gram串頻統計方法,即,統計相鄰的n個單元(如單詞、漢字、或者字元)在整個文字**現的頻率。假設有乙個字串,請以字元為單位,按n-gram方法統計每個長度為 n 的子串出現的頻度,並輸出最高頻度以及頻度最高的子串。所給的字串只包含大小寫字母,長度不多於500個字元,且 1 < n < 5。
如果有多個子串頻度最高,則根據其在序列中第一次出現的次序依次輸出,每行輸出乙個,如果最高頻度不大於1,則輸出no。
輸入第一行為n;
第二行為字串。
輸出輸出最高頻度以及頻度最高的所有子串。若最高頻度不大於1,只輸出一行no。
樣例輸入
3abcdefabcd
樣例輸出
2abc
bcd提示
樣例中,所有的3-gram是:abc,bcd,cde,def,efa,fab,abc,bcd。最後面的cd不足以形成3-gram,則不考慮。這樣,abc 和 bcd 都出現了2次,其餘的只出現了1次。
解題把字串按照n分割,迴圈統計個數
**
#include
#include
using
namespace std;
int num[
510]
;//個數
char s[
510]
,c[510][
10];//字串,分割後的字串
intmain()
for(
int k =
0; k <= i;
++k)}}
if(max==
1)cout<<
"no"
;//輸出
else
}}
NOI 26 n gram串頻統計
26 n gram串頻統計 總時間限制 1000ms 記憶體限制 65536kb 描述 在文字分析中常用到n gram串頻統計方法,即,統計相鄰的n個單元 如單詞 漢字 或者字元 在整個文字中出現的頻率。假設有乙個字串,請以字元為單位,按n gram方法統計每個長度為 n 的子串出現的頻度,並輸出最...
NOI 1 13 26 n gram串頻統計 題解
26 n gram串頻統計 總時間限制 1000ms 記憶體限制 65536kb 描述 在文字分析中常用到n gram串頻統計方法,即,統計相鄰的n個單元 如單詞 漢字 或者字元 在整個文字 現的頻率。假設有乙個字串,請以字元為單位,按n gram方法統計每個長度為 n 的子串出現的頻度,並輸出最高...
POJ n gram串頻統計
總時間限制 1000ms 記憶體限制 65536kb 描述 在文字分析中常用到n gram串頻統計方法,即,統計相鄰的n個單元 如單詞 漢字 或者字元 在整個文字 現的頻率。假設有乙個字串,請以字元為單位,按n gram方法統計每個長度為 n 的子串出現的頻度,並輸出最高頻度以及頻度最高的子串。所給...