題意:
給你乙個環形串
輸出其最小表示法的首字母位置、最大表示法的首字母位置以及和對應位置等價位置的個數
最大最小表示法
假設有乙個字串abcde 要求出字典序最小的 就需要使用最小表示法
這個abcde 的同構串:
有bcdea cdeab deabc eabcd
求出最小的那個 就需要用最小表示法
最大表示法同理
模板:
int
get_min()
}return i >j ?j :i;
}
本題思路:
先判斷這個串是不是迴圈串
判斷方法:
設串長為len,len%(len-next[len])為0就是迴圈串
最大最小表示法數量就是 len/(len-next[len]),否則不是迴圈串就為1
**:
#include
#include
#include
#include
#include
using namespace std;
int next[
1000005];
void
init
(char t)
else
j=next[j];}
}int
get_min
(bool flag ,
char s)
else
if(i == j)
j++; k=0;
}}return i >j ?j :i;
}int
main()
return0;
}
題意很簡單,就是給定乙個長最多為16000000的字串,其中字元型別有m種,問其中長度為n的相異子串的個數是多少。
思路:把原串中的每個字元給它賦值,用數字來代替不同的字母,比如a可以用0表示,b可以用1表示,然後再遍歷長度為n的子串,把每個子串用剛才賦值的數字按10進製或者m進製轉化成乙個數(其實就是把長度為n的那一小段字元表示成乙個數),只要子串不同,那表示出來的數字結果就一定不相同,這就把字串和數字構成了一一對應關係,進而也就能用不同的數字表示不同的子串,最後只要遍歷一下不同的數字有多少,就可以得到答案。
**:
#include
#include
#include
#include
using namespace std;
const
int maxn=
1600000+7
;bool hash[maxn]
;int num[
256]
;char s[maxn]
;int
main
(void)}
int ans =0;
for(
int i=
0;i<=l-n;i++)if
(hash[sum]==0
)}printf
("%d\n"
,ans);}
}
拓展kmp是對kmp演算法的擴充套件,它解決如下問題:
定義母串s,和字串t,設s的長度為n,t的長度為m,求t與s的每乙個字尾的最長公共字首,也就是說,設extend陣列,extend[ i ]表示 t 與 s[ i, n - 1]的最長公共字首,要求出所有extend[ i ] ( 0 <= i < n )。
const
int max=
100010
;//字串長度最大值
int next[max]
,extend[max]
;//預處理計算next陣列
void
getnext
(char str)
}}//計算extend陣列
void
exkmp
(char s1,
char s2)
}}
題意:
給定乙個字串t;
取子串t[i,len-1]與t[0,len-1]暴力匹配 i∈[1,len-1];
問需要做多少次字元比較。
ac**:
#include
using namespace std;
typedef
long
long ll;
const
int maxn=
1000010
;//字串長度最大值
int nxt[maxn]
;char s[maxn]
;ll solve
(char str)
ans +
= nxt[i];if
(nxt[i]
!= len - i) ans++;}
return ans;
}int
main()
return0;
}
水 滴 石 穿。 編寫令人愉悅的API介面 一
api介面是服務端與客戶端溝通的橋梁.較好的api設計能減少客戶端與服務端的聯調時間,更加關注於自己本身 的優化與業務層的邏輯.良好的api介面應該從這下面幾個方向進行優化 準確的api協議 準確的內容型別 統一的返回型別以及異常處理 良好的介面版本控制體系 api介面路徑盡量簡短統一 效能與安全 ...
一部令人懷戀的電視劇集
愛問新聞搜尋 在上海這個東方大都市,各類廣告公司多如牛毛。3a廣告公司就是其中的一家新興的公司,雖然公司的規模不大,但它卻真實的折射出了都市生活的斑斕色彩。3a廣告公司女老闆喬安娜雄心勃勃,一心要把自己的公司搞成上海攤上頂尖的大廣告公司,為此她從一家外資的廣告公司跳出,白手起家。從 都市男女 看配笑...
吃喝是一件令人愉快的事
在過去的 7天裡,我很愉快,因為吃喝是一件令人愉快的事。有一天去參加別人的婚禮,這個不大愉快,因為沒有我喜歡吃的小菜。不過喜糖很特別的,很好看的,讓人很有食慾。有一天去逛宜家,從我們家出發到宜家,總共花了 15分鐘。但是,在宜家的車庫門口等車位卻花了 30分鐘。唉,還不如坐輕軌呢。宜家裡人非常多,像...