随笔分类 -  技巧——离散化

摘要:Description 【NOIP2012】开车旅行 (题面太长不想描述……) Solution 由于题目很复杂,所以我们将这道题分成三个部分分析 主要思路:dp+倍增+链表+离散化 Step1:预处理出这两个人从每一个城市出发的下一个城市 将这一步的答案记为$ga[i],gb[i]$ 城市高度差= 阅读全文
posted @ 2019-09-30 21:16 AD_shl 阅读(352) 评论(0) 推荐(0)
摘要:我们定义f[i][j]表示前j个数组成的长度为i的合法序列的个数,那么有 因此我们不难写出朴素dp的代码 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 using nam 阅读全文
posted @ 2019-06-07 15:25 AD_shl 阅读(225) 评论(0) 推荐(0)
摘要:好像跟POJ重题 这是一道扫描线的题。 由于窗口的大小已知,我们不妨换一下思路,把问题转化成这样:平面内有若干个矩形(大小就是窗口的大小,矩形左下角的位置就是某一颗星星的位置),每一个矩形覆盖的区域都有一个权值(星星的亮度),求某一位置,使得这个位置被覆盖的权值最大,最大值即答案。 为什么这样就是正 阅读全文
posted @ 2019-06-01 17:04 AD_shl 阅读(294) 评论(0) 推荐(0)
摘要:线段树扫描线的应用 我们尝试设想有一条无限高的竖线左往右扫过这个并集图形,按照每一个矩形的的左右边界,我们可以将这个并集图形分为2n 段,对于两两相邻的部分,我们可以分别计算面积,这样就得到了整个并集图形的面积。 如图,我们就是把每个矩形的左右边界提了出来,就变成了这样一些线段。 那么我们需要这些量 阅读全文
posted @ 2019-05-31 23:34 AD_shl 阅读(299) 评论(0) 推荐(0)