時間限制: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。
一行乙個整數,表示答案。
aaabbbcccdddaaaddddddddd
選擇 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....