• 关于10月20日#8的六道题的心得与感悟


    二十号了,复赛在即,还望努力.

    第一题:脑筋急转弯一样的神奇水题.有一个a×b的矩形桌子,和若干个半径为r的圆盘,两人轮流把圆盘放到桌子上,不能有重叠的部分.最后无法放圆盘的人就是输家.最后输出赢家.

    一开始思来想去,完全没有思路.最后看题解才发现是一道大水题.放盘子的时候,只有两种情况. 1.盘子可以放下,那么只要第一个人放在了矩形正中央,接下来,不管第二个人放在哪,总能找到一个与之对称的位置来放置圆盘.2.盘子不能放下,当前的第一个人也就输了.

    所以只需要判断第一个盘子能否放下即可得到答案.

    第二题:暴力.利用搜索可以解决.不过在一些小细节上要多加注意.在此略作总结.1.在判断的时候,先判断下标是否合法,在判断内容.很多时候RE是因为在检查下标之前检查值导致的引用了非法地址.2.边界的设置,边界条件是什么,什么时候返回值,对于合法与非法的判断标准.这些都应该在读题审题的时候一起处理和了解清楚,不然很容易爆栈.3.拓展的顺序,有时候搜索的顺序可以大幅度的提高搜索效率(特别是DFS,也可以把它想成是一种非常特别的评估函数)

    第三题:经典的搜索题.从每个点出发,寻找所有能到达的地方,加以标记.在判断是否所有的奶牛所在的牧场都可以到达.需要注意的是,因为是从点出发找奶牛,所以加边的时候要倒着建边(即起点和终点相反)

    第四题:给出N×N网格,要求从 (1, 1)  走到  (n, n) , 要使得你所走路径的最大海拔差最小.

    因为是求最大值的最小值,说以应当是一个典型的二分题.不过,当时眼拙,没看出来(应该说是看出来了没想哪方面想).先没读清楚题,以为只能向右,向下.果断写了DP;后来重新读题,开始写暴力搜索,直接WA掉.最后不得已向人求教,原为二分.

    二分枚举(logN)可能的差值,对差值进行检验.检验的时候,如果单纯的直接寻找路径判断,一定会超时.可以利用一个巧妙的方法,枚举起点,加上差值,得到一个可能的区间范围.然后在图中寻找满足的区间的点,看能否到达终点.

    第五题:01背包问题,有一点小小的改变,最终的结果中不能出现负值.其他的照旧.

    第六题:还没读题......

  • 相关阅读:
    java连接常见数据库的连接字符串
    一个用来自动管理大容量表的Sql脚本
    Ibatis2.0使用说明(一)——入门实例篇
    态度决定你的人生高度
    jboss配置入门(二) -JBOSS3.2.3/3.2.6部署及配置修改
    如何在一个工程里面实现不同的功能打入不同的日志文件中【log4net】
    Xsl实践总结(一)
    Xsl实践总结(三)-介绍一款开发XSL不错的IDE(Stylus)
    Xsl实践总结(二)
    教你节省时间 让你个人效率翻三倍
  • 原文地址:https://www.cnblogs.com/hy-dgj/p/4895880.html
Copyright © 2020-2023  润新知