
区间DP
文章平均质量分 71
leibniz_zhang
欢天喜地小企鹅
展开
-
51nod oj 1021 石子归并【区间dp】
题目链接:1021每次只能合并相连的石堆-.-我们可以建一个dpdp [ i ] [ k ] 表示从i号一共K个石头合并再一起所花费的代价-.-转换方程1:dp[ i ] [ k ]=min( dp [ i ] [ k ] ,dp[ i ] [ j ] +dp [i+k ] [ k-j] +he[ i ] [ k ]); j代表合并时第一个的长度--he[ i ] [原创 2016-08-08 11:40:01 · 555 阅读 · 0 评论 -
poj 3616 Milking Time 【区间DP】
传送门--到你想去的地方:poj3616小技巧:对于题中每个产奶后需要R个时间歇息的问题-.-我们可以将每个区间的右边界向右移动R---(不要忘了将N也移动R呦)然后就是一个普通的DP了代码:#include#include#includeusing namespace std;struct node{ int start,end,effi原创 2016-08-11 14:48:52 · 343 阅读 · 0 评论 -
VIJOS-P1312 能量项链 【区间DP--矩阵连乘】
VIJOS 传送门 :1312状态:每个起点及相乘的个数转换方程:dp[i][k]=max(dp[i][k],dp[i][j]+dp[i+1+j][k-j-1]+dian[i].a*dian[i+j].b*dian[i+k].b);代码:#include#include#includeusing namespace std;struct no原创 2016-08-11 17:16:38 · 490 阅读 · 0 评论 -
VIJOS-P1011清帝之惑之顺治<滑雪> 【区间DP--相邻位】
VIJOS 传送门 :1011每个点的数量状态是由它的相邻点中小于它的点的数量状态所决定的--所以我开始给点的敢赌排了一个序--从低到高算它的数量状态---代码:#include#include#includeusing namespace std;struct node{ int ii,jj,hh;}dian[300000];int xx[4]=原创 2016-08-11 17:56:02 · 1387 阅读 · 0 评论 -
51nod oj 1022 石子归并 V2 【环形区间DP----四边形不等式优化】
题目传送门:1022四边形不等式优化:m[i,j]=min{m[i,k]+m[k,j]}(s[i,j-1]≤k≤s[i+1,j])当m[i,j]=min{m[i,k]+m[k,j]}(i≤k≤j)s[i,j]表示i到j的最优分点s[i,j-1]≤s[i,j]≤s[i+1,j]怎么证明某一题能不能用这个优化呢--我---不会---我就想原创 2016-08-12 16:44:28 · 547 阅读 · 0 评论