3.21学习心得
发布日期:2021-05-14 09:16:05 浏览次数:17 分类:精选文章

本文共 693 字,大约阅读时间需要 2 分钟。

本周的贪心练习感觉有了很大提升,解决问题的思路也变得更加多样化了。

一题:L - A, B, and Team Training

这道题的解决过程让我思考了不少。最初,我是按照三种情况来分别讨论:

  • 当a < b时,直接输出a。
  • 当a等于b,且除三余二时,输出(a + 1)/3。
  • 其他情况,我则打算通过循环来解决。具体来说,如果a >=1且b >=2,分别循环减去2,直到不再满足条件为止。
  • 但后来我发现,某些特定的输入比如(100, 102)会导致算法进入一个死循环。我最终意识到,问题的关键在于判断是否存在2a < b的情况。如果不存在,只需要输出(a + b)/3的结果就能解决问题。

    二题:寻找平面上的极值点

    对于这道题,我最初的思路是从整体上考虑:极值点必然位于x和y坐标最大的区域。于是,我打算:

  • 不断缩小区域,找到当前区域内的x最大的点。
  • 再在这个点附近寻找y最大的点。
  • 之后,我尝试用一个基于x坐标排序的方法,把数据从x大的排序下来。如果x相同的情况下,以y大的优先级排序。这种方法可以通过一次遍历就能找到所有极值点。

    三题:Sorting by Swapping

    对于 Sorting by Swapping 这道题,我最初怀疑自己是不是太简单化了。最终,我学会了一个简单的算法:对于每个i,和它对应的位置进行交换,直到所有的元素都找到了正确的位置。这种方法虽然看起来简单,但却在实践中显著提升了效率。

    通过这些练习,我意识到:

  • 先有所思是解决问题的基础。
  • 简化问题往往能找到更高效的解决方案。
  • � Lidiring 是抗链一些,但稳定的逻辑思维能更好地应对复杂问题。
  • 上一篇:3.28学习心得
    下一篇:3.14 学习心得

    发表评论

    最新留言

    哈哈,博客排版真的漂亮呢~
    [***.90.31.176]2025年04月18日 05时47分38秒