阿里雲七天訓練營入門班 Day5

2021-10-07 12:57:14 字數 578 閱讀 3192

題目:有一天jerry給tom出了一道題來考驗他。jerry給了tom乙個長度為2 * n的只包含小寫字母的字串,讓tom將這個字串任意挑選字元,將其分成兩個等長的字串a和b(對於乙個si不能同時被選到a和b中),然後a要和reverse(b)相同(a和反轉後的b相同),問這樣的方案數有多少?tom有些為難,所以請你來幫幫他吧。

輸入乙個正整數n,和乙個長度為2*n的字串

輸出方案數。

示例1輸入:

2「abba」

輸出:4

題意理解:

從右向左抽出n個字元作為a,剩下的字元作為b,a與b字串的順序相反。

思路:用深度優先演算法dfs將各種可能的字串窮舉出來,同時運用對稱性來減小時間複雜度。

例如「cabaacba」,如果『c』為a的第乙個字元,則b的最後乙個字元也是『c』,而第二個『c』後面的『ba』則一定是屬於a字串的,這樣就能大大減小時間複雜度。

在使用dfs演算法對字元進行篩選時要對已挑出的不同類的字元做不同的標記,以免發生混淆

阿里雲ECS訓練營 Day5

開啟鏈結,在頁面左側,單擊雲產品資源下拉列表,檢視本次實驗資源。單擊免費開通建立所需資源。說 明 color 說明 win r開啟系統自帶的終端工具。在終端中輸入連線命令ssh username ipaddress 將其中的 username 和 ipaddress 替換為雲產品資源提供的ecs伺服...

阿里雲ECS七天訓練營 搭建FTP

客戶端從乙個隨機的大於1024以上的埠n連線到伺服器的21埠,客戶端開始監聽埠n 1同時傳送命令 port n 1 告訴伺服器開放了n 1埠。伺服器使用20埠回連到客戶端指定的n 1埠開始傳輸資料 被動模式 客戶端從乙個隨機的大於1024以上的埠n連線到伺服器的21埠,開始監聽埠n 1,並且 同時傳...

阿里雲ECS七天高階訓練營 搭建docker環境篇

docker有兩個分支版本 docker ce 社群版 和docker ee 企業版 1.安裝docker的依賴庫 2.新增docker ce的軟體源資訊 yum config manager add repo3.安裝docker ce yum makecache fast yum y instal...