码迷,mamicode.com
首页 > 其他好文 > 详细

HDOJ1007-1011

时间:2018-04-06 22:33:25      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:影响   https   事物   定时   程序   引用   .net   end   选择   

最近清明节,回去扫墓了,在回家之前就已经做好了1007-1010的题目。但是1011有点小难,之前虽然是搞懂了,想法也是有了,知道是一个数DP问题,但实际上并没有我想的那么简单。

HDOJ 1007

该题目咋一看蛮复杂的,我一开始还以为是约瑟夫环,后来仔细一看,觉得蛮简单,就是求出给定散点图中距离最小的值为多少,ok,两个for暴力马上就出答案了,然后去ac 一直 ac不过,网上看看了大神,原来是要用分治法。。。好吧,网上代码很全,我就不写了,稍微说一下这个思路吧。如果你是暴力,很明显是O(n^2),如果你用分治法,应该会变成O(nlog(n)),就好像二分法,将点分成两堆,少比了好多好多次。 解题思想,我觉得有篇博客讲的很好了,引用一下。。。https://blog.csdn.net/jkhere/article/details/21597619 

 

ps:原来c++也实现了很多简单算法 在 <algorithm>里,

 

HDOJ 1008

电梯的时间计算,这题算是简单题,基础题,我好像大一的时候就做了,上升a秒,下降b秒,中间停c秒。理清几层 几层之间,到底是算几次a 或者 几次b 就ok

 

HDOJ 1009

属于简单贪心问题,只要用javabean 除以 food 就可以得到一个价值比,即你花了多少事物能获得的javabean,再按照这个value排序,每次都拿价值最高的,这样能保证javabean赚得最多。

 

HDOJ 1010 迷宫问题

这个题目属于常见的迷宫问题,是基本的题目,从出发点出发 广度或者深度 遍历,用递归实现。 应该也可以用栈实现,不过比较麻烦。递归多好。有一个要注意的是这个迷宫有时间规定,就是在指定时间刚好小狗走到门,也相当于步数限定。所以这个题目有一个小陷阱,就是你要剪枝,不然AC不过,怎么剪枝呢?注意到步数的限制,可以在这上面下文章,但我想到的剪枝肯定是最简单的,就是t<(current_x-end_x+current_y-end_y),但这种剪枝方法矬,而且剪不了多少。我也不懂。。 网上查了一下,大家都是用的奇偶剪枝法,原理是蛮简单的,但是你在写程序的时候怎么可能想到@^@。。还是要多加练习。附上一个介绍剪枝地址、https://www.cnblogs.com/zibuyu/archive/2012/08/17/2644396.html

 

HDOJ 1011 动态规划

这个题目有点难,但是看了代码后又觉得蛮简单的,是一个很典型的类似0-1背包的动态规划,只不过的是选择的物体会少一点,因为星级护卫队在去灭虫子的时候是一间房间一间房间的找,不是空降的。具体也不怎么说,是一个蛮简单的动态规划(我写不出来。。。看来得去加强基础)。d[n][m]表示第n间房的时候m个人的时候的最高捕获首领数量。是一层一层刷新的。也就是说 第一层d[1][m]是一直由d[x][m](x>1)影响的。动态转移方程的话在下面的地址中有。。

https://blog.csdn.net/lhshaoren/article/details/7837377

HDOJ1007-1011

标签:影响   https   事物   定时   程序   引用   .net   end   选择   

原文地址:https://www.cnblogs.com/monster5475/p/8728828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!