刷題列表(DP)

2021-08-03 06:17:14 字數 790 閱讀 9856

洛谷:

p2051 [ahoi2009]中國象棋

p1879 [usaco06nov]玉公尺田corn fields (狀壓)

p1850 換教室(概率)

p2831 憤怒的小鳥

p1099 樹網的核(這應該不算dp吧)

p1131 [zjoi2007]時態同步 先把一顆子樹全部換成最大值,則對節點i的所有兒子v,先找到最大權值的乙個兒子v』,則代價為∑v

′′為i的

子節點f

[v′]

+b[v

′所屬邊

].w−

f[v′′

]−b[

v′′所屬

邊].w

,累加到答案即可。

p1169 [zjoi2007]棋盤製作 先將i行j列滿足i+j為偶數的位置取反,問題轉化為求最大全部都為1的正方形/矩形,先預處理每個位置最大向下向上延伸多少個位置,再進行dp。對於i行j列,找出之前連續部分l,將向上向下取min,乘上l更新答案。至於該方法的正確性詳見該部落格: 。

p1436 棋盤分割 用f

[i][

x1][

y1][

x2][

y2] 表示切i刀矩陣所能得到最大權值,先預處理出i=0時的值,再dp即可。

p1273 有線電視網 樹形揹包,用f

[i][

j]表示第i個節點,取了j個葉子節點的最大收益,每次更新時

學習筆記(DP) 刷題日記

貪心的思想,從右往左把每列都取完或剩下乙個 取餘2 觀察畫圖可以發現,若剩下乙個的兩列之間間隔列數為偶數的話,是可以通過最底下一行使得這兩列剩下的那乙個合併使得貢獻加1。include define ll long long define endl n using namespace std con...

日常刷題 最長括號匹配DP

這道題目看似可以使用棧來做,實則用dp可以更加簡單。我們設f i f i f i 為以第i位結尾的可以匹配的最大長度。對於每乙個第i ii位,如果需要存在合法序列必須滿足兩個條件 1.是左括號 2.必須和其有邊的字元組成乙個序列 事實上對於第乙個條件我們只要簡單的判斷,而對於第二個條件就和我們的決策...

刷題向》DP》關於基礎DP easy

openjudge 8464 這道題其實很簡單,算是dp的基礎題,比較適合開拓dp思維。題目比較有欺騙性,其實稍微想想就可以解決,因為題意說第一次賣出後才能 所以我們可以考慮列舉斷點,所以題目一下變得簡單,我們線性掃兩遍,算最大值就好了。具體為 由於不能同時進行兩次交易,所以列舉斷點,一遍掃做1到n...