26:n-gram串頻統計
總時間限制: 1000ms 記憶體限制: 65536kb
描述
在文字分析中常用到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次。
思路也不難,仗著電腦執行速度快,資料範圍小,用o(n2)的動作毫不為過。找到乙個子串就逐一比對,統計個數。如果熟練使用map,還可以降成o(n log(n))。
------------------------------------------- end.-------------------------------------------#include
using
namespace std;
int n,j,i,f[
1005
],maxx,len,z,d;
string s,x[
1005
],y;
intmain()
}if(f[z]
>maxx)}if
(maxx>1)
}}else
return0;
}
NOI 26 n gram串頻統計
26 n gram串頻統計 總時間限制 1000ms 記憶體限制 65536kb 描述 在文字分析中常用到n gram串頻統計方法,即,統計相鄰的n個單元 如單詞 漢字 或者字元 在整個文字中出現的頻率。假設有乙個字串,請以字元為單位,按n gram方法統計每個長度為 n 的子串出現的頻度,並輸出最...
n gram串頻統計
描述 在文字分析中常用到n gram串頻統計方法,即,統計相鄰的n個單元 如單詞 漢字 或者字元 在整個文字 現的頻率。假設有乙個字串,請以字元為單位,按n gram方法統計每個長度為 n 的子串出現的頻度,並輸出最高頻度以及頻度最高的子串。所給的字串只包含大小寫字母,長度不多於500個字元,且 1...
NGram近似字串匹配
介紹ngram是來自給定序列的n個單位的子串行。這些單位可以是單詞,字元等。例如,短語 hello world 的2 gram或bigram是 he el ll lo o w wo or rl 和 ld 用途ngram建模通常用於對自然語言進行建模。它還可用於 序列中的下乙個專案。ie,給定具有發生...