藍橋杯 ALGO 87 字串統計

2021-09-10 11:30:05 字數 1132 閱讀 5934

演算法訓練 字串統計  

時間限制:1.0s   記憶體限制:512.0mb

問題描述

給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串(不同的出現可以相交),如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。

輸入格式

第一行乙個數字l。

第二行是字串s。

l大於0,且不超過s的長度。

輸出格式

一行,題目要求的字串。

輸入樣例1:

4bbaabbaaaaa

輸出樣例1:

bbaa

輸入樣例2:

2bbaabbaaaaa

輸出樣例2:

aa資料規模和約定

n<=60

s中所有字元都是小寫英文本母。

提示列舉所有可能的子串,統計出現次數,找出符合條件的那個

分析:一開始想用unordered_map統計所有子串出現次數,然而測評系統不支援unorder_map,於是將子串的內容、出現次數、出現順序用乙個結構體node儲存,改用map和vector來儲存。最後遍歷vector求出符合題目要求的子串。

**:

#include#include#include#include#includeusing namespace std;

struct node ;

bool cmp(node n1, node n2) else if (n1.s.size() == n2.s.size())

}int main() else

m[sub].times++;

m[sub].s = sub;

} }vectorv;

for (map::iterator it = m.begin(); it != m.end(); it++)

sort(v.begin(), v.end(), cmp);

string ans = "";

int maxn = -1;

for (vector::iterator it = v.begin(); it != v.end(); it++)

} cout << ans << endl;

return 0;

}

藍橋杯 演算法訓練 ALGO 87 字串統計

演算法訓練 字串統計 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串 不同的出現可以相交 如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式 第一行乙個數字l。第二行是字串s。l大於0,且...

01字串 藍橋杯

對於長度為5位的乙個01串,每一位都可能是0或1,一共有32種可能。它們的前幾個是 00000 00001 00010 00011 00100 請按從小到大的順序輸出這32種01串。無輸出32行,按從小到大的順序每行乙個長度為5的01串。00000 00001 00010 00011 以下部分省略 ...

2 21 字串(藍橋杯)

問題描述 給出乙個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。輸入格式 第一行包含乙個整數n。第二行包含n個非負整數,為給定的數列,數列中的每個數都不大於10000。第三行包含乙個整數a,為待查詢的數。輸出格式 如果a在數列 現了,輸出它第一次出現的位置 位置從1開始編號 否則輸出 1...