zoukankan      html  css  js  c++  java
  • HDOJ1007-1011

    最近清明节,回去扫墓了,在回家之前就已经做好了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

  • 相关阅读:
    【js类库AngularJs】学习angularJs的指令(包括常见表单验证,隐藏等功能)
    【js类库AngularJs】解决angular+springmvc的post提交问题
    【javascript类库】zepto和jquery的md5加密插件
    【转】Java Cipher类 DES算法(加密与解密)
    手机QQ访问时,html页面在QQ中自定义预览和自定义分享
    dos 删除文件夹 rd
    摆动效果
    【js类库Raphaël】使用raphael.js根据点坐标绘制平滑曲线
    更新html技术比较
    动态设置缩放比例和html字体大小
  • 原文地址:https://www.cnblogs.com/monster5475/p/8728828.html
Copyright © 2011-2022 走看看