JiaRui

@RayChangTW

Joined on Dec 9, 2021

  • KMP 在字串s中,找到所有子串p的位置 說明使用時,直接傳入字串s和子串p。 所有子字串會在ids裡面找到 查看這些id可以用print() 程式碼 class KMP_t{ public:
     Like  Bookmark
  • 本篇記錄寫力扣題目遇到的一些tricks以及一些常見的作法。 ::: danger 這篇可能有部分內容會偏離CP本身,因為裡面會提及一些比較適合面試的實作,以及面試可能會被要求的樣式,但在CP中根本不會有這種要求。 ::: 1. 較不直觀的狀態轉移 446. Arithmetic Slices II - Subsequence 題解 定義的狀態沒有辦法很直觀求到答案,而是在求解過程中算答案。
     Like  Bookmark
  • reference:programiz 想要找出圖上的所有強連通分量(假設圖是一個連通圖)(沒有節點是出入度都為0),可以使用Kosaraju's algorithm,用時$O(V+E)$來找到,算法步驟非常簡單。 DFS一次,並且記錄每一個節點的離開時間。這邊要特別注意的是,紀錄的是離開時間,而我們實作的方式是利用stack紀錄進入時間,這樣在出棧的時候的順序就是離開時間 建立一張反圖 $G^T$(把所有邊反過來) $e(i, j) \in G \to e(j, i) \in G^T$ 根據stack出棧的順序,在反圖上DFS,如果搜到山窮水盡,就是一個SCC
     Like  Bookmark