![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技巧_离散化
TouchDreamer
这个作者很懒,什么都没留下…
展开
-
区域坐标离散化
个人感想 经过了这次网络赛我知道了基础技巧的重要性,从挑战程序设计上一直在看常用技巧,包括尺取法,双向搜索等等。看了挑战程序设计的164页坐标离散化之后特写篇博文来终结一下。 算法分析 首先对于一个很大的区域但是障碍很少的情况下直接进行广搜是很不合理的,因此我们需要对区域坐标进行离散化缩小区域,然后进行广搜,这样会大大减少时间复杂度。很明显这个区域里面有n条直线,那么我们需要将这条直线上的2原创 2016-10-12 10:27:41 · 831 阅读 · 1 评论 -
HDU 1255 覆盖的面积(线段树+离散化+扫描线)
题目分析 上次做了一道只用计算覆盖一次的面积,这次需要计算覆盖2次的面积,其实就是在上面的基础上加一点东西,sum1[]表示覆盖一次的长度,sum2[]覆盖2次的长度,具体怎么操作看pushup函数即可,写的非常清楚。 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using names原创 2016-11-03 09:45:04 · 255 阅读 · 0 评论 -
HDU 5925 Coconuts(离散化+bfs, 好题)
题目分析 求联通块但是R和C很大,用bfs很明显会超时,因此需要对其进行离散化,这一点我在我的前几篇博文中提过,但是本题还涉及到一个新的知识点,离散化之后还需要知道每个连通块中cell的个数,因此还需要一点小技巧,就是利用2个数组存储中间值。 #include <map> #include <queue> #include <cstdio> #include <cstring> #include原创 2016-10-13 12:17:24 · 294 阅读 · 0 评论