02 2018 档案

摘要:题目链接 了解题意之后,没有思路。。参考了别人的博客,这个题目的解题思路就是维护分量, 将原来的一个长度分解成三个长度,然后加以维护,维护通过pushUp操作来完成,维 护的步骤按照价格的高低。 #include<cstdio> #include<algorithm> using namespace 阅读全文
posted @ 2018-02-22 20:55 MalcolmMeng 阅读(141) 评论(0) 推荐(0)
摘要:题目链接 这是求面积并的题目,刚开始我的思路是将挖去的矩形的入边和出边覆盖效果颠倒, 即入边-1,出边+1,后来调试到爆炸,发现这是错误的做法。。原因就是对最简单 的面积并问题没有搞清楚。刚开始接触扫描线的时候我就有一个问题,为什么覆盖 次数不需要向子区间传递,但是我没有仔细去想这个问题,直到遇到这 阅读全文
posted @ 2018-02-20 23:58 MalcolmMeng 阅读(250) 评论(1) 推荐(0)
摘要:题目链接 求周长并,思路和注意事项与求面积并类似,我用了最简单的思路,即x轴做一次线段树,y轴做一次线段树。 还有一种方法,只做一次线段树,在做线段树的同时求另一个方向的长度,大概的想法我知道,不过在左右区间合并 这个问题上不是很理解。 做了两个线段树的题目,分别是求面积并和周长并。这些问题是几何问 阅读全文
posted @ 2018-02-20 17:28 MalcolmMeng 阅读(399) 评论(0) 推荐(0)
摘要:题目链接 要求矩形的面积并 代码不复杂,主要要理解扫描线的思想以及一些细节的处理。 首先需要将接收到的x坐标离散化,方法就是排序去重。接下来的线段树建立在这个 关于x坐标的数组上,这很关键。线段树的节点代表一段区间,这个区间是由x坐标数组的下标 来构成的。更新的时候就根据水平线段的左右x坐标获得区间 阅读全文
posted @ 2018-02-19 18:55 MalcolmMeng 阅读(209) 评论(0) 推荐(0)
摘要:这是三段非常相似的代码。二分查找比较明确,难懂的是下面的两段代码。大体的思路沿袭二分的想法,区别就在于搜索左右子区间的条件不同。 可以注意到一个特点,lowerBound返回的下标对应的值一定大于等于k,循环结束的条件是l==r,所以满足条件,upperBound类似。 写成递归形式可能更容易理解, 阅读全文
posted @ 2018-02-17 18:00 MalcolmMeng 阅读(257) 评论(0) 推荐(0)
摘要:不得已又挖了一个坑。。想来学习线段树也有一段时间了,也有了些了解,但是在做题的 时候还是磕磕碰碰的,还是不够熟练,还是要多做题(水题除外),多思考。 这是一道典型的线段树区间更新,一定要使用延迟标记,同时又要使用区间合并。 区间合并的做法和poj3667 Hotel这题是一样的。起先我想都使用线段树 阅读全文
posted @ 2018-02-15 14:49 MalcolmMeng 阅读(156) 评论(0) 推荐(0)
摘要:最近几天都在学习git,一个分布式版本管理软件。 学习git的原因是平时在写代码的时候修改代码总是让我焦头烂额, 所以我希望通过学习git能够解决这个问题(目前还远远达不到这个 目标= = )。下面来梳理一下git学习过程中的一些概念。 首先我发现我对版本的理解并没有我认为的那么到位,导致了在学 习 阅读全文
posted @ 2018-02-06 20:45 MalcolmMeng 阅读(156) 评论(0) 推荐(0)