給出兩個字串,求乙個字串的字首與另乙個字串的字尾最長重疊長度
採用擴充套件kmp可以輕鬆解決此題
#include
#include
#include
#include
using
namespace std;
string str1,str2,s1,s2;
//設從i位置開始的s的字尾串為s0i
void
z_function
(string s,
int n,
int z)
//擴充套件kmp(z函式),求s與s0i的最長公共字首的長度}}
intmain()
,z2[
200]=;
cin>>str1>>str2;
int str1_len=str1.
size()
,str2_len = str2.
size()
; s1=str1+str2;
s2 = str2 +str1;
z_function
(s1,s1.
size()
,z1)
;int len1=s1.
size()
,ans=0;
for(
int i=str1_len ;iz_function
(s2,s2.
size()
,z2)
;int len2 = len1;
for(
int i=str2_len ;iprintf
("%d\n"
,ans)
;return0;
}
小K的疑惑 牛客
bob有 n 1 leq n leq10000 個點的樹,每條邊有乙個邊權 d 0 leq d leq 233 現在定義 dis i,j 代表第 i 個點到第 j 個點的距離模2。問有多少 i,j,k 滿足 dis i,j dis i,k dis j,k 首先,一棵樹中不存在 i,j,k 使得 di...
牛客網 最小的k個數
輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,解法1 利用最大堆,o nlogk vectorgetleastnumbers solution vectorinput,int k vectorheap input input....
牛客網 第K大元素
1.查詢第k大的元素 給定乙個無序的整型陣列a n 陣列大小大於等於3,允許有值相同的元素 請設計演算法找到該陣列排序後第三大的元素值並輸出.乙個非空的整數陣列 至少有3個元素,可正可負 第三大的元素值示例1 複製 1,2,3,4,5 複製 3示例2 複製 1,1,2,2,3 複製 2思路 將所有的...