摘要: 07年省赛题
用到了四维dp  阅读全文
posted @ 2009-05-06 18:59 Going 阅读(148) | 评论 (0)编辑 收藏
 
     摘要: 08年省赛题
Algorithm: 半平面求交的特例// Complexity: O( n log n )
---- 首先容易证明半平面交为凸域
---- 第一步:将直线按斜率递增排序
---- 第二步:设一直线栈与交点栈,初始为第一条直线和零个交点
---- 第三步:不断加入新的直线作为凸域的约束;
---- 每次在堆栈中从顶到底寻找第一条仍然有效的约束直线 ----
无效的约束被去除,当前直线加入作为新的约束
---- 第四步:所有直线都已添加完毕后,所得的直线栈和交点栈便
---- 描述了我们要寻找的凸域
  阅读全文
posted @ 2009-05-06 18:15 Going 阅读(294) | 评论 (0)编辑 收藏
 
     摘要: 07年省赛的一个广搜题,用到了优先队列,还要有优化,不然超时  阅读全文
posted @ 2009-05-05 11:20 Going 阅读(345) | 评论 (0)编辑 收藏
 
     摘要: 没看出来有dp的思想,还是同学教的~  阅读全文
posted @ 2009-05-04 14:23 Going 阅读(223) | 评论 (0)编辑 收藏
 
     摘要: 08年省赛的一个简单题,当时根本没看明白什么意思~好弱~  阅读全文
posted @ 2009-05-03 20:38 Going 阅读(148) | 评论 (0)编辑 收藏
 
     摘要: 08年浙江省赛的一个dp题~  阅读全文
posted @ 2009-05-03 10:57 Going 阅读(205) | 评论 (0)编辑 收藏
 
     摘要: 记忆化深搜,注意方向和跳的步数!  阅读全文
posted @ 2009-05-02 18:49 Going 阅读(506) | 评论 (0)编辑 收藏
 
     摘要: 参考了下别人的代码,dp真是千变万化啊!
这与搬寝室还是有很大不同的,要倒过来做;
dp[物品组数][物品个数](I为I副筷子,J为总共筷子)
现在转入正题,这个题目要求每一组有3个筷子,前2个的差的平方最小,
首先和前面题目一样先排序对把,显然从大到小排(因为这样完全可以转化成搬寝室 那个一样的思想)
比如取第2队物品,那么第一对已经取完保存在数组里面了,
那么从s[2][3*2+1]计算到s[2][n],
为什么这样就可以呢?
仔细想下,第2组,前面只要有2个可以作为最大的筷子了,一定满足题目意思的了,所以一直计算下去,
状态转移方程和前面一样~
dp[i][j]=min(dp[i-1][j-2]+(a[j]-a[j-1])*(a[j]-a[j-1]),dp[i][j-1]);
ps:排序从大到小很精妙~  阅读全文
posted @ 2009-04-29 14:39 Going 阅读(179) | 评论 (0)编辑 收藏
 
     摘要: 由于数据还是比较大的,初始化时一定要足够大,很容易错!
dp[i][j] 从前i个物品中选取j对物品。  阅读全文
posted @ 2009-04-29 13:06 Going 阅读(190) | 评论 (0)编辑 收藏
 
     摘要: dp[i][j] 从前i个人中选j个的最优值。
底层为从前i个选1个。  阅读全文
posted @ 2009-04-28 18:22 Going 阅读(199) | 评论 (0)编辑 收藏
仅列出标题
共5页: 1 2 3 4 5