Uva 10118 免費糖果

2022-04-01 07:47:45 字數 567 閱讀 9941

參考:

剛開始,我想到了dp狀態的描敘,d(a,b,c,d) 從 4堆裡面拿走 a,b,c,d 的最優值,但是好難實現啊,dp順序感覺是可以用lcs的方案,但是,怎麼儲存自己口袋裡面有哪些呢? ——hash.

最後參考了一下大神的方案,記憶化寫的,orz.

嗯,像這種狀態轉移比較難寫的,還是用搜尋的思想好一點。

#include using

namespace

std;

const

int maxn = 42

;int pile[4

][maxn];

intdp[maxn][maxn][maxn][maxn];

int n,top[4

];int dfs(int count,bool

hash)

else

top[i]-=1

; }

return dp[top[0]][top[1]][top[2]][top[3]] =ans;

}int

main()

return0;

}

動態規劃1011

problem description 有乙隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房a爬到蜂房b的可能路線數。其中,蜂房的結構如下所示。input 輸入資料的第一行是乙個整數n,表示測試例項的個數,然後是n 行資料,每行包含兩個整數a和b 0 output 對於...

10 11學習總結

現在補10.11的坑,假裝現在是10.11。今天繼續補lch講的動規的坑,學習了線性動規與區間動規,至於樹剖以後再補坑。1.線性動規 此處拓展到兩個比較重要的演算法 1 lcs最長公共子串行.狀態轉移方程為 f 1 1 0 f i j f i 1 j 1 1 x y f i j max f i 1 ...

10 11訓練總結

昨天的話,有一場5個題目的比賽,一開始就有一道題目,我錯了8次,心態小崩,還可以吧,最後總算是找到了錯誤的地方,其實是乙個很簡單的地方吧,還有就是後面的乙個仿造印章的題目,第一次接觸這種題型吧,看了各位大佬的部落格也算是學到了很多吧,有的時候判斷能否實現一張圖的時候,可以把可行的都放在另乙個圖中,然...