
思想---启发式分治
#
夕林山寸
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVA1608-Non-boring sequences 启发式分治
贴下前辈的理解: 有时候我们会碰到这样一类题目, 给定n个数,求满足某种条件的点对数目或最大权值,而这个最大权值与点对(a,b)的区间[a,b]的区间最大/最小值有关。 那么这时就可以考虑分治,对于区间[L,R][L,R],找到最小/大值所在位置,然后处理横跨最小/大值所在位置的点对,然后递归处理子区间。 我的理解:: 感觉启发式分治是一类问题: 就是区间问题,可以找到只要跨...原创 2019-08-24 19:32:28 · 222 阅读 · 0 评论 -
2019牛客暑期多校训练营(第三场)
G:Removing Stones启发式分治 首先一个区间满足条件一定是:区间最大值MA的2倍小于等于区间和。 跟最大值和子区间有关,所以我们很容易想到:启发式分治: 对于一个区间L,R 先找到最大值的位置pos 然后包括最大值的区间:左端点l,右端点r。 我们枚举一个端点,另一个端点二分查找,复杂度nlogn^2。 假如枚举了左端点l,我们二分查找pos--R之间第一个su...原创 2019-08-24 23:07:42 · 113 阅读 · 0 评论 -
2019 Multi-University Training Contest 10 ( hdu6701)
1011: 启发式分治: 又看到区间最大值,询问满足题意子区间个数,我们自然而然想到启发式分治。 满足MAX-K<=区间长度。且区间内无重复元素。 首先可以对MAX的点pos,左右分治递归。 枚举离pos近的一段,利用题目关系算出另一端的取值范围,进而加到ans上。就是启发式分治的套路了。 这一题也是一样,关键就是怎么快速算出另一端的取值范围。 对于区间[L,R] 假如从左边...原创 2019-08-25 19:49:22 · 221 阅读 · 0 评论 -
P4755 启发式分治
找到满足 a[l]*a[r]<=a[pos],a[pos]为区间最大值。的区间个数 又是套路,区间最大值+找满足题意的区间个数。 很容易想到启发式分治 枚举少的一端,另一端查询区间小于等于x的数的个数即可。这个操作用主席树维护就行。 具体过程可以仿照我前几篇启发式分治的过程,很清楚。 这里注意主席树查询的是小于等于x的数。但我们加上离散化后,你要用upper_bound找到严格大于...原创 2019-08-25 20:54:08 · 219 阅读 · 0 评论