题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1090题意:字符串AAAAAAAAAABABABCCD的最短折叠为9(A)3(AB)CCD,注意数字的长度和圆括号都算最后长度。求一种折叠方式使得总长度最小。思路:f[L][R]=min(R...
分类:
其他好文 时间:
2014-06-23 07:41:54
阅读次数:
349
题目链接:Codeforces 437E The Child and Polygon
题目大意:给出一个多边形,问说有多少种分割方法,将多边形分割为多个三角形。
解题思路:首先要理解向量叉积的性质,一开始将给出的点转换成顺时针,然后用区间dp计算。dp[i][j]表示从点i到点j可以有dp[i][j]种切割方法。然后点i和点j是否可以做为切割线,要经过判断,即在i和j中选择的话点k的话...
分类:
其他好文 时间:
2014-06-15 10:31:02
阅读次数:
209
【前言】还是强调要少看题解。
【BZOJ1090】简单的区间DP。值得注意的是:在压缩的时候,如果是10个A压缩,那么化成(10)A后有5个字符而不是4个!(我在这里被坑了好长时间!)以下是核心代码:
for (len=2;len<=L;len++)
for (i=1;i<=L-len+1;i++)
{
j=i+len-1;
for (k=i;k<j;k...
分类:
其他好文 时间:
2014-06-10 07:08:27
阅读次数:
237
【题解】:经典的区间dp,并且记录下了dp的path因为是递归得到的path,所以递归压栈按从里到外的顺序得到path就可以了输出嵌套括号部分很好的考察了对栈的理解,和递归执行的顺序。注意题目输出中有的地方有空格
1 //zoj1276 路径输出用到了栈的思想,比较考验思维 2 #include.....
分类:
其他好文 时间:
2014-06-05 18:09:06
阅读次数:
224
A - 爱管闲事
春希非常爱管闲事,他每天都会抽空帮助一些同学,由于春希非常死板,出于公平性,春希不会先帮助后来找他的同学。
现在有n个同学需要他的帮助,虽然他很想一天之类帮助所有人,但毕竟精力有限,于是他决定分m天来帮助他们。
根据事情的重要性,春希帮助不同同学会有不同的快乐值,而春希获得的总的快乐值为每天获得的快乐值的乘积。
现在给出n和m,以及帮助完各同学时获得的快乐值,...
分类:
其他好文 时间:
2014-06-05 10:21:52
阅读次数:
304
题目:http://poj.org/problem?id=1141转载:http://blog.csdn.net/lijiecsu/article/details/7589877定义合法的括号序列如下:1
空序列是一个合法的序列2 如果S是合法的序列,则(S)和[S]也是合法的序列3 如果A和B是合...
分类:
其他好文 时间:
2014-05-22 02:52:11
阅读次数:
256
题目连接:uva 1362 - Exploring Pyramids
题目大意:给出一个字符串,问有多少种多叉树德前序遍历(这里每经过一个节点,该节点的值即要被算入,回溯的也要)满足该字符串。
解题思路:dp[i][j]表示从i到j的位置可以用多少种多叉树表示。转移方程:dp[i][j]=∑k=i+2jdp[i+1][k?1]?dp[k][j]。
#include
#include...
分类:
其他好文 时间:
2014-05-20 15:32:08
阅读次数:
254
Dp
状态设计与方程总结
不完全状态记录
青蛙过河问题
利用区间 dp
背包类问题
0-1 背包,经典问题
无限背包,经典问题
判定性背包问题
带附属关系的背包问题
+ -1 背包问题
双背包求最优值
构造三角形问题...
分类:
其他好文 时间:
2014-05-18 15:36:58
阅读次数:
256
题目链接:1362 - Exploring Pyramids
白书上的例题,思路是对于每个结点,往后遍历分为左右两边子树来考虑,左边的子树为去掉根节点剩下的子树,而右边是要算上根节点的,这样就不会有重复的情况出现,然后根据乘法原理,左右两边情况相乘为总情况数,然后计算这些总和。
f[i][j]表示[i,j]结点的情况种数,那么 f[i][j] = sum{f[i + 1][k - 1] * ...
分类:
其他好文 时间:
2014-05-11 07:02:11
阅读次数:
277