HDU 越獄 DP Or 記憶化搜尋

2022-05-28 11:51:13 字數 742 閱讀 3763

這題要注意的就是要構造出兩個端點出來,然後直接開闢狀態dp[i][j]表示i,j之間的囚犯都救出的最少的金幣數,注意此時的邊界i,j是不取的。初始條件是dp[i][i+1] = 0.

**如下:

#include #include 

#include

#include

using

namespace

std;

const

int inf = 0x3fffffff

;int n, p, loc[105], dp[105][105

];int dfs(int a, int

b) dp[a][b] =ret;

return

ret;

}int

main()

p += 1

; memset(dp,

0,sizeof

(dp));

/*for(int gap = 2; gap <= p; gap++)

dp[a][b] = ret;

}

} *///

printf("case #%d: %d\n", ca, dp[0][p]);

printf("

case #%d: %d\n

", ca, dfs(0

, p));

}return

0;

}

hdu3779 記憶化搜尋

兩列火車入站,重新排列的車廂符不符合要求 記憶化搜尋,ans i j 記錄的是第一列火車的第i節和第二列火車的第j列在組合後的序列裡找不找的到 如果找的到就標記為1,因為是從前到後搜尋,所以在ans n m 1時,表示符合 include include includeusing namespace...

hdu2452 記憶化搜尋

一顆樹,邊是單向的,每個節點有一定的權值,要你從根節點走到葉子節點,走到第偶數節點時,使後面的權值和最小 走到第奇數節點時,使後面的權值和最大 邊鍊錶儲存,並查集查詢根節點 用val i 0 表示第i個節點是偶數節點的值和val i 1 表示第i個節點是奇數節點的值 遞迴的計算,因為節點很多,所以要...

hdu1069 記憶化搜尋

此題思路還是比較清晰的,對於每個x,y,z,都會有三種情況,dp i 表示把第i個放在最下面得到的最大高度,狀態轉移方程為dp i max dp i dp j height 這裡的j要滿足能夠放在i上面,height為第i個矩形的高度 如下 include include include inclu...