![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树二分
xzxxzx401
这个作者很懒,什么都没留下…
展开
-
HDU 5930 GCD
HDU 5930 GCD线段树上二分题意设计数据结构支持:单点修改查询整个区间以及每个子区间有多少种不同的区间gcd思路线段树上的二分。%%%大体思路是这样:初始区间给定后,可以计算出每个gcd有多少个区间,用g数组记录一下。(因为最大的数字不超过1000000) 线段树维护区间gcd。每次修改,假设修改pos处的值,先计算所有受pos影响的区间的gcd与个数,在g数组上减去这些;在线段树单原创 2017-08-12 02:11:35 · 523 阅读 · 0 评论 -
HDU 4614 Vases and Flowers
HDU 4614 Vases and Flowers线段树题意两个数n,m, n表示花瓶数量0~n-1,开始全为空。接下来有m组,每组有数k,a,b;当k=1时, 从a位置开始插花,b为花数量,当花瓶有花时,跳过当前,直到找到空花瓶再插入,输出插入第一支花的位置和最后一支花的位置,花可以没插完,当一支都没有插入则输出Can not put any one.;当k=2时,清空【a,b】的花瓶,并输出在原创 2017-08-21 23:48:57 · 193 阅读 · 0 评论 -
HDU 5289 Assignment
HDU 5289 Assignment单调队列、线段树题目给一个数列,求满足下列条件的子区间的个数: 对于子区间[L, R]内的任意两个元素的差值小于k。思路暴力O(nlognlogn)O(nlognlogn)(967ms): 两个set维护,双指针ij。i指向区间首端元素,j指向区间尾端元素。set统计最值。如果最大值减最小值大于k了,那么在set中吧j指向的元素移除,j++。单调栈O(n)O原创 2017-10-09 00:27:04 · 182 阅读 · 0 评论