摘要: "题目链接" 本题也是区间dp,但是需要保存的信息很多,是1还是0,有多少个连续的,那我们可以预处理,将所有的连续缩合成1个字符,那么字符串就变成了一个01交替的串,我们任意的消除1个部分,一定能引起连锁反应,~~像消消乐~~ 我们设dpi,j,k为区间[i,j],j后面有k个与j相同的元素,若j与 阅读全文
posted @ 2020-02-23 20:06 GRedComeT 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目链接 一开始很自然的想到了贪心,跑了一下贪心,发现无法处理某一段已经被选走的情况,根据数据范围,区间dp比较适合,能储存区间取样信息 设dp[i][j]为已经杀死区间[i,j]的最小值,可以得到转移方程,dp[i][j] = min(dp[i][k-1]+dp[k+1][j]+a[k]+b[i- 阅读全文
posted @ 2020-02-23 15:39 GRedComeT 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目链接 本题也是区间dp三角剖分板子题,只不过加入了判断是否是凸包,计算顺序要用凸包顺序(凸包板) #include<bits/stdc++.h> using namespace std; #define lowbit(x) ((x)&(-x)) typedef long long LL; typ 阅读全文
posted @ 2020-02-23 13:11 GRedComeT 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 经典区间dp,破环成链,枚举新起点与新终点即可(i,i+n-1) #include<bits/stdc++.h> using namespace std; #define lowbit(x) ((x)&(-x)) typedef long long LL; typedef pair<int,int> 阅读全文
posted @ 2020-02-23 11:20 GRedComeT 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目链接 本题是区间dp里的三角剖分,板子题,dp[i][j]表示凸多边形i-j构成的最值,转移方程为dp[i][j] = min/max(dp[i][k]+dp[k][j]+w[i,j,k])(i<k<j),表示将凸多边形i-j以k为分界,分成i-k,k-j以及三角形i-j-k #include< 阅读全文
posted @ 2020-02-23 10:38 GRedComeT 阅读(142) 评论(0) 推荐(0) 编辑