此次培训主要和动态规划相关
动态规划解决问题的一般步骤:设表,打表(依靠状态转移方程),求表
动态规划实际上就是一种填表的算法
做dp题目的注意事项,数组的含义写注释,数组初始化,数组的初始状态
线性DP练习题:P1115 最大子段和 B3636 文字工作
LIS问题模板
fill(dp,dp+1000000,1);
for(int i=2;i<=n;i++){
int maxx=0;
for(int j=1;j<i;j++){
if(a[j]<a[i]){
maxx=max(maxx,dp[j]);
}
}
dp[i]=maxx+1;
}
01背包问题一般模板(滚筒数组优化)
for(int i=1;i<=n;i++){
for(int j=m;j>=w[i];j--){
dp[j]=max(dp[j-w[i]]+c[i],dp[j]);
}
}
习题
P2918 [USACO08NOV] Buying Hay S
P1164 小A点菜
P1776 宝物筛选
P1507 NASA的食物计划
277

被折叠的 条评论
为什么被折叠?



