題解(2019 09)(一) 令人自閉的字串

2021-09-27 02:31:47 字數 2542 閱讀 2442

題意:

給你乙個環形串

輸出其最小表示法的首字母位置、最大表示法的首字母位置以及和對應位置等價位置的個數

最大最小表示法

假設有乙個字串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分鐘。唉,還不如坐輕軌呢。宜家裡人非常多,像...