牛客網 字串 串的處理

2021-09-12 16:30:04 字數 804 閱讀 1701

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

給定兩個等長的由小寫字母構成的串a,b,其中|a|=|b|=n。

現在你需要求出乙個子區間 [l,r] 使得 lcp(a[l,r],b[l,r])×lcs(a[l,r],b[l,r])+lcp(a[l,r],b[l,r])+lcs(a[l,r],b[l,r])最大,並輸出這個值。

lcp(s,t)表示s和t的最長公共字首,lcs(s,t)表示s和t的最長公共字尾。

第一行乙個字串 a。

第二行乙個字串 b。

一行乙個整數,表示答案。

aaabbbcccddd

aaaddddddddd

選擇 l=1,r=12 是一種可行的最優解。

對於所有資料,保證 n≤200000,串 a,b 僅由小寫字母構成。

我們可以找出兩串最長的連續公共串,把這段串當成所找的區間[l, r],這樣最長公共字首和最長公共字尾都是最長的。

#include using namespace std;

int main()

else ans++;

}cout << max_l * (max_l + 2) << endl;

}return 0;

}

牛客網 字串價值

熱度指數 7時間限制 1秒空間限制 32768k 有一種有趣的字串價值計算方式 統計字串中每種字元出現的次數,然後求所有字元次數的平方和作為字串的價值 例如 字串 abacaba 裡面包括4個 a 2個 b 1個 c 於是這個字串的價值為4 4 2 2 1 1 21 牛牛有乙個字串s,並且允許你從s...

牛客網 倒置字串

題目描述 將一句話的單詞進行倒置,標點不倒置。比如 i like beijing.經過函式後變為 beijing.like i 這道題我想到兩種方法 1 從後往前遍歷字串,以空格分割,找到每個單詞,然後再遍歷每個單詞,將單詞逐個鏈到新字串上,注意需要將第乙個單詞單獨處理,具體 如下 include ...

牛客網 倒置字串

將一句話的單詞進行倒置,標點不倒置。比如 i like beijing.經過函式後變為 beijing.like i 輸入描述 每個測試輸入包含1個測試用例 i like beijing.輸入用例長度不超過100 輸出描述 依次輸出倒置之後的字串,以空格分割 示例輸入 i like beijing....