区间DP。 首先求凸包判断是否为凸多边形。 如果是凸多边形:假设现在要切割连续的一段点,最外面两个一定是要切一刀的,内部怎么切达到最优解就是求子区间最优解,因此可以区间DP。 #include<cstdio> #include<cmath> #include<cstring> #include<al
分类:
其他好文 时间:
2016-02-28 11:01:29
阅读次数:
223
区间DP。 我们先给人编号,从左到右编号1到n。 对于整段区间,必然有一个人是最后上场的,假设是编号为S的最后上场, 因为是栈维护的顺序,那么编号1至S-1这S-1个人,必然是第1--S-1个上场的(具体顺序不知), 而编号S+1至n这些人必然是第S--n-1个上场的(具体顺序不知)。 假设我们知道
分类:
其他好文 时间:
2016-02-25 22:51:55
阅读次数:
211
Brackets Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5083 Accepted: 2733 Description We give the following inductive definition of a “r
分类:
其他好文 时间:
2016-02-25 21:05:16
阅读次数:
213
给一个括号序列,求有几个括号是匹配的。 dp[i][j]表示序列[i,j]的匹配数 dp[i][j]=dp[i+1][j-1]+2(括号i和括号j匹配) dp[i][j]=max(dp[i][k]+dp[k+1][j])(i<=k<j) 1 #include<cstdio> 2 #include<c
分类:
其他好文 时间:
2016-02-24 22:46:12
阅读次数:
167
区间DP。dp[i][j]表示(i,j)开区间内全部取走的最小值。 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; const int INF=0x7FFFFFFF
分类:
其他好文 时间:
2016-02-24 22:42:25
阅读次数:
258
Problem Description An equal sum partition of a sequence of numbers is a grouping of the numbers (in the same order as the original sequence) in such
分类:
其他好文 时间:
2016-02-22 19:11:55
阅读次数:
157
题目大意:在一条直线上有n件珠宝,已知每件珠宝的位置,并且第 i 件珠宝在 ti 时刻就消失,问能否将所有的珠宝收集起来?如果能,求出最短时间。搜集能瞬间完成。 题目分析:区间DP。dp(i,j,0)表示搜集区间(i,j)并且停留在左端所需的最短时间,dp(i,j,1)表示搜集区间(i,j)并且停留
分类:
编程语言 时间:
2016-02-19 12:19:44
阅读次数:
170
题 题意 告诉我们每天要穿第几号衣服,规定可以套好多衣服,所以每天可以套上一件新的该号衣服,也可以脱掉一直到该号衣服在最外面。求最少需要几件衣服。 分析 DP,dp[i][j]表示第i天到第j天不脱第i天之前的衣服最少需要的衣服数量,那就可以由和第j天穿一样的衣服的第k天转移过来,或者再套一件第j天
分类:
其他好文 时间:
2016-02-16 22:02:25
阅读次数:
132
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27130 模拟一下整个过程是一个栈的操作 很难想到会是区间$DP$ 不过多想想或许可以发现 对于一个栈内元素 显然会有一堆元素在它之后入栈 然后又纷纷出栈 之后又有一
分类:
其他好文 时间:
2016-01-28 00:41:39
阅读次数:
297
题目链接:点击打开链接给定2个长度相等的字符串a b每次能够把a串的随意一段变成一样的字母。问把a变成b最少须要几步。思路:1、dp[l][r] 表示把一个空字符串K 的[l,r] 变成 相应b[l,r]这段的最小花费。那么 dp[l][r] 就是 把 K[l] -> b[l], 然后再把 K[l+...
分类:
其他好文 时间:
2016-01-21 12:06:10
阅读次数:
148