@(labuladong的演算法小抄)[dp]
參考:labuladong的演算法小抄p162
這種題目的引數不是陣列,僅僅是乙個數n,所以需要自己思考狀態究竟是什麼
隨著我們敲擊鍵盤,剩餘的敲擊次數會減少(狀態一),螢幕上的a會增加(狀態二),剪下板中的a也會變化(狀態三)
但這種思考方式下,由於狀態二和狀態三最多是多少我們很難計算,導致dp陣列或備忘錄很難定義,無法剪枝,所以並不好
class
solution
private
intdp
(int n,
int a_num,
int copy)
/* 返回三個數的最大值 */
private
intmax
(int a,
int b,
int c)
};
最優按鍵序列的最後一次按鍵要麼是a,要麼是ctrl+v,因此選擇減少為了兩個
並且最優的序列應該是這種形式:a, a, a…c-a, c-c, c-v, c-v, c-v…c-a, c-c, c-v, c-v, c-v…
class
solution
}return dp[n];}
};
lintcode 四鍵鍵盤
假設你有乙個特殊的鍵盤,鍵盤上有如下鍵 鍵1 a 在螢幕上列印乙個 a 鍵2 ctrl a 選擇整個螢幕。鍵3 ctrl c 複製選擇到緩衝區。鍵4 ctrl v 在螢幕上已有的內容後面追加列印緩衝區的內容。現在,你只能按鍵盤上n次 使用以上四個鍵 找出你可以在螢幕上列印的 a 的最大數量 輸入 3...
動態規劃之四鍵鍵盤
四鍵鍵盤問題很有意思,而且可以明顯感受到 對 dp 陣列的不同定義需要完全不同的邏輯,從而產生完全不同的解法。首先看一下題目 如何在 n 次敲擊按鈕後得到最多的 a?我們窮舉唄,每次有對於每次按鍵,我們可以窮舉四種可能,很明顯就是乙個動態規劃問題。這種思路會很容易理解,但是效率並不高,我們直接走流程...
Excel鍵盤快捷鍵大全 四
調整工具欄和任務窗格的大小 1.按 alt 來選定選單欄。2.重複按 ctrl tab 以選定所需的工具欄或任務窗格。3.請執行下列操作之一 調整工具欄的大小 1.在工具欄中,按 ctrl 空格鍵可顯示 工具欄選項 選單。2.選擇 大小 命令,再按 enter。3.使用箭頭鍵調整工具欄的大小。移動工...