Dire Wolf Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others)Total Submission(s): 1561 Accepted Submission(s): 897 Prob ...
分类:
其他好文 时间:
2016-08-03 19:59:25
阅读次数:
119
1、背包问题。0/1背包、完全背包、多重背包、分组背包、依赖背包。 2、子序列。最长非上升/下降子序列、最长先上升再下降子序列、最长公共子序列、最大连续子区间和。 3、最大子矩阵。 4、区间dp。 5、环形dp。 6、树形dp。 7、最少线段覆盖(codevs1214) ...
分类:
其他好文 时间:
2016-08-03 18:42:59
阅读次数:
306
P1056 能量项链 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2006 提高组 第一道 描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且, ...
分类:
其他好文 时间:
2016-07-31 20:52:33
阅读次数:
130
OJ地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1996 设dp(i,j,k)代表在理想结果中[i,j]段最后添加的是i或j(k=0or1) 要注意的一点是程序会计算两次i=j时的情况 要特殊判断 数据不大 我写的是记忆化搜索 改成递推会更快 ...
分类:
其他好文 时间:
2016-07-24 22:40:34
阅读次数:
336
题意:输入一个简单m(2<m<50)边形,找到一个最大三角形最小的三角剖分(用不相交的对角线把一个多边形分成若干个三角形)。输出最大的三角形面积。 分析:每条对角线都是无序的,因此,给节点编号,从1到n-1,顺时针方向,这样多边形的顶点都是有序的了,这样就可划分区间,类似区间dp来做。 ...
分类:
其他好文 时间:
2016-07-20 10:15:58
阅读次数:
236
区间dp。 用f[l][r]表示从l到r最少需要染几次色。 状态转移方程: 1.f[l][r]=min(f[l][i],f[i+1][r]) (l #include #include using namespace std; const int maxn = 200 + 10; int n; int... ...
分类:
其他好文 时间:
2016-07-13 01:26:34
阅读次数:
162
区间dp。 用f[l][r]表示区间[l,r]最短能缩到多短。 然后状态转移方程有俩种 1.不折叠 f[l][r]=f[l][i]+f[i+1][r]. (l= #include #include using namespace std; const int maxn = 200 + 10; cha... ...
分类:
其他好文 时间:
2016-07-12 10:25:15
阅读次数:
100
区间dp。 bool t代表区间内是否能含M。 如果不能含M的话有 res=min{f[l][i][0]+r-i}。(i>1][t]+1) (后半串用1个R替代)。 如果t=1时,除上面俩个还有res=min{f[l][i][1]+1+f[i+1][r][1]}。 状态和3种状态转移方程比较难想。很... ...
分类:
其他好文 时间:
2016-07-12 01:34:09
阅读次数:
192
区间dp。 用f[l][r]代表从l合并到r的最小得分。 显然 r-l #include #include using namespace std; const int maxn = 100 + 10; const int inf = 0x3f3f3f3f; int n; int a[maxn],f... ...
分类:
其他好文 时间:
2016-07-12 01:30:01
阅读次数:
90