HDU 2845 Beans 動態規劃

2022-05-28 16:51:13 字數 725 閱讀 2879

對於每乙個點由其上一步的結點傳遞過來,存在最優子結構,即對於正確路徑的上的任意一點將都是最優的,並且存在最優子結構。保留最優值的時候注意方法,不然tle。

**如下:

#include #include 

#include

#include

#include

#define maxn 200000

using

namespace

std;

int n, m, dp[maxn+5], g[maxn+5], mm[maxn+5

];inline

int max(int x, int

y)void update(int x, int

y) dp[x*m+y] = max(dp[x*m+y], mm[i]+g[x*m+y]);

} dp[x*m+y] = max(dp[x*m+y], mm[x]+g[x*m+y]);

}int

dp()

} mm[i] = max(mm[i], dp[i*m+m-1

]); res =max(res, mm[i]);

}return

res;

}int

main()

}printf(

"%d\n

", dp());

}return0;

}

HDU 2845 Beans 最大不連續子列和

beans 題意 分析 玩 吃豆子 的遊戲,規則如圖 對於這個二維的問題,我們可以分別對行列做兩次dp。先對每一行求出最大的不連續子列和 移方程 r i max r i 2 r i r i 1 i 2 注意下標範圍。然後對每一行的最大值求最大不連續子列和,思路同上。如下 include define...

hdu1513 Palindrome 動態規劃

求讓乙個字串變為回文串所需最少插入字元數 定義狀態dp i j 表示從左到右i個字元,從右到左j個字元,要讓他們回文需要插入多少字元 顯然,a i a j 時,dp i j d p i 1 j 1 a i a j 時,就需要插入乙個字元,因此dp i j m in d p i 1 j dp i j ...

HDU 4455 Substrings 動態規劃

題意 給定乙個整數串,有q組詢問,問這個串中長度為w的子串中不同的數字之和為多少,這題的動態規劃感覺很有技巧性。解法 設f i 表示w為 i 時不同的數字之和,那麼考慮f i 1 和f i 的關係可以得知 f i 1 就是從f i 中去除最後乙個子串後在每個串後加上乙個數字的情況,因此可以得到這樣的...