小技巧 DP過程中序列的記錄

2022-03-20 03:08:29 字數 415 閱讀 3032

一道例題:

cf10d lcis

求最長公共上公升子串行的題。算是比較基礎和經典的dp題目。

但是這道題目為什麼是藍了呢。。。可能就是因為它還需要維護乙個序列的記錄。

怎麼維護呢?

我們開乙個\(pre\)陣列,表示當前狀態的前乙個位置是什麼。即當前狀態是由哪個狀態新轉移過來的。這樣的話,我們只需要記錄終止點pos,其前乙個位置就是\(pre[pos]\),前乙個就是\(pre[pre[pos]]\)。再前乙個就是...(禁止套娃)

即記錄出了整個路徑。

最後的輸出過程可以採用遞迴輸出,但是沒什麼必要,乙個while迴圈即可。

我們發現很多遞迴的東西其實都可以轉成while迴圈,也就是非遞迴的形式。因為其本質是差不多一樣的。while後面的條件就相當於函式的引數和遞迴出口。

講完了。

現代PHP開發過程中的小技巧

以下內容摘自 modern php 現代php,也加入了我的一些理解,如有錯誤,麻煩提出,我好改正 在這之前,我們使用ftp進行 管理,修改乙個php檔案,然後使用ftp上傳,這非常危險。現代php建議使用版本管理軟體進行 版本管理,例如使用git,可建立乙個可審查維護的 歷史,git提供 分支 復...

iOS開發過程中的小技巧集 一

var desstr self.describe.text as nsstring var num desstr.length if num 35 else 說明 首先,把字串轉譯成nsstring型別,然後計算字串的長度.其中num就是你想限制的字數.最後通過字串的substringtoindex...

python python學習過程中的記錄

python中的修飾器 python中的with語法與上下文管理器 關於python中帶下劃線的變數和函式的意義 使用python進行二進位制檔案讀寫 python python 中 name main 的作用 python 編譯器與直譯器 python3.7 argparse模組講解 u1 np....