劉書學習筆記(3)多階段決策問題

2021-08-07 19:32:05 字數 717 閱讀 1414

狀態:從[i][j]開始的最小開銷

轉移:dp[i][j]=min(dp[i+1][(j-1)%m],dp[i][j+1],dp[i+1][(j+1)%m]

現在的問題是,我們如何求出字典序最小?

有個規律請牢記:

正序前驅最小,逆序後繼最小。

換句話說,逆推可以保證字典序最小。

可能有些不太明白是什麼意思,不過我們不妨設想一下,逆推就是從後往前,所以這樣才能保證字典序。

具體實現上,十分神奇:

int row[3]=;

if(i==0) rows[1]=m-1;

if(i==m-1) rows[2]=0;

sort(rows,rows+2);

dp[i][j]=inf;

for(int k=0;k<3;++k)

用乙個row陣列儲存所有的三種情況,而乙個sort巧妙的實現了字典序處理的工作。而next陣列可以將字典序儲存起來方便讀取。

從乙個新的角度來看看完全揹包:dag。

相當於乙個帶權的dag,因此

dp[i]=max

這個東西不想多說,因為每個人都比較熟練。

滾動陣列不方便列印字典序。

嗯…不想說什麼了

總之這次的比較熟悉吧…所以略微過得快一些好了。接下來是線性dp,例題大概會比較刺激吧。

劉書學習筆記(4)線性結構上的dp(上)

dp i max 1 a i a j dp i j dp i 1 j 1 1 否則 dp i j max dp i 1 j dp i j 1 比較蛋疼的語文題 如果語文比較好幾乎是裸lis 雖說大概需要糾結一下常係數 dp i min dp j 1 s j 1 i 為回文串 並不太明顯的lis,不過...

花書學習筆記 雜記

關於貝葉斯學派和頻率學派的問題 每次提到貝葉斯學派和頻率學派的不同之處時,人們都會使用這個例子 給定資料集xda ta x xd ata 如果我們想要確定某乙個引數 theta 頻率學派的做法是arg max mathop limits theta argmax 也就是說 認為 theta 是乙個確...

紫書學習筆記(1)

這幾天雜七雜八的事情太多,再加上進入了考試周,所以很難有時間安安靜靜的敲敲 看看書,寫寫部落格了。最近寫了一些oj的題目,但是寫到這個份上,發現有些做不動了。因為自己沒有很系統的看過一些演算法競賽書,所以很多時候時間複雜度和空間複雜度都控制不好,所以就想寫一寫前段時間買的劉汝佳的紫書,也就是 演算法...