动态规划 区间
Yishui_Blog
Try our best
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
51Nod 1021 石子归并 ( 区间dp
题目描述 N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。 例如: 1 2 3 4,有不少合并方法 1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19) 1 2 3 4 => 1 5 4(5) => 1 9...原创 2018-05-13 23:54:01 · 206 阅读 · 0 评论 -
POJ - 2955 Brackets ( 区间dp
http://poj.org/problem?id=2955 数组开的大了就一直TLE, 不知道为什么,,, 状态定义为 dp[i][j]编号i到编号j的括号的最大匹配数目dp[i][j]编号i到编号j的括号的最大匹配数目dp[i][j] 编号i到编号j的括号的最大匹配数目 区间dp 每次枚举i-j之间的最大匹配数目 状态转移方程为 dp[i][j]=max(dp[i][k]+dp[k+...原创 2018-06-21 10:37:48 · 207 阅读 · 0 评论 -
NYOJ 括号匹配(二) ( 区间dp
最大加的括号数不就是总的括号数-最大的配对数。。。。 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define CLR(a,b) memset(a, (b), sizeof(a)) const int MAXN = 2e2+...原创 2018-06-21 10:39:02 · 189 阅读 · 0 评论 -
POJ - 1651 Multiplication Puzzle ( 区间dp
⼀组数字,第⼀个和最后⼀个数字不可以取出去,其它任意取出去,当你要取出⼀个数字时,它有⼀个代价,这个代价就是与它相邻的两个数的乘积,求除了⾸位两位数字,把其他数字都取出来,它们的代价之和的最小值 明显的区间dp问题,注意最大枚举的段最小是三个就行了 #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstd...原创 2018-06-21 21:04:24 · 234 阅读 · 0 评论 -
HDU - 5115 Dire Wolf ( 区间dp
前面有n头狼并列排成一排, 每一头狼都有两个属性–基础攻击力和buff加成, 每一头狼的攻击力等于他自身的基础攻击力加上旁边狼对他的buff加成。 现在你被这群狼围着了, 必须将这些狼全部击败, 你才能逃出, 你每攻击一头狼,收到的伤害是狼的总攻击力。现在问,你逃出这些狼的围攻需要的最小代价 状态转移方程明显为dp[i][j]=min(dp[i][k−1]+dp[k+1][j]+a[k]+b[i...原创 2018-06-21 21:06:52 · 347 阅读 · 0 评论 -
LightOJ - 1422 Halloween Costumes ( 区间dp
给你 n 天需要穿的⾐服的样式,每次可以套着穿⾐服,脱掉的⾐服就不能再⽤了(可以再穿),问⾄少要带多少条⾐服才能参加所有宴会 这个题真的真的真的思考了挺长时间才勉强理解才能勉强,感觉和区间dp,,, 状态dp[i][j]dp[i][j]dp[i][j] 表示i−ji−ji-j之间需要的衣服数 考虑两种状态: arr[i]==arr[j]arr[i]==arr[j]arr[i]==arr[j...原创 2018-06-21 21:27:14 · 151 阅读 · 0 评论
分享