线段
码不停Tick
这个作者很懒,什么都没留下…
展开
-
51nod 1091 线段的重叠
这是有一道线段题,思路很简单:就是先将线段按起点排序,然后再以前一条线段的末尾为基准,加入后一条线段时求重叠区间。这时要分两种情况,第一种是后面一条线段在前一条的内部,这种情况重叠的长度就是后一条的长度,pos的位置不用发生改动。另一种情况就是后一条线段和前一条线段相交但是不完全重叠,这种情况下重叠的长度为pos减去下一条线段的起点。 (这种题目之前做过两题,都是要把右端点加上的,这题就不用,愚原创 2017-11-12 10:01:57 · 268 阅读 · 0 评论 -
codeforces822c+codeforces612d
这题开始一直不知道怎么入手,研究了一下才明白。 首先是题目给出的是旅行票开始的时间和结束的时间以及花费,这样可以把它们想象成一条带权值的线段,左端点即为开始时间,右端点即为结束时间,权值为花费。 然后将线段根据它们的左端点从小到大排序,(这里另外有个地方十分巧妙就在于用-1来标注反向的线段,用以来记录线段已经用过)。 然后遍历线段,如果是type==1(左端点),则查看在它前面有没有合适的线原创 2017-10-30 22:15:14 · 369 阅读 · 0 评论