离线区间问题
文章平均质量分 78
yuhong_liu
这个作者很懒,什么都没留下…
展开
-
HDU 4358-I - Boring counting-dfs序+离线+树状数组/线段树
http://acm.hdu.edu.cn/showproblem.php?pid=4358 题意: 给你一颗树,n个节点,每个有其权值。给一个k。 q次询问,每次询问 以x为根节点的子树里,有多少种权值恰好出现次数为k。 我们先求个dfs序,把树型结构转为线性数组。 那么题目变成q次查询,每次查询区间L【x】,R【x】之间有多少个权值,出现的次数恰好为k 而本原创 2016-04-23 10:26:34 · 515 阅读 · 0 评论 -
HDU 5029 Relief grain-树链剖分+线段树+离线
题意:给一棵树n个点,m次操作,每次把一条x到y的链涂一个Z颜色 问最后每个节点,对应被涂过最多的颜色是什么? 先树剖一下,变成: m次操作,每次给一个区间染色,最后问每个点被染过最多次的颜色是什么 这个问题的离线方法真的很巧妙啊。。。 根据颜色开一个线段树,第i位置表示颜色i出现过东西次 开一个vector s[maxn], 假设在【l,r】中涂上颜色c,则s[l]原创 2016-08-16 19:24:25 · 330 阅读 · 0 评论 -
CF#365-D. Mishka and Interesting sum-树状数组/线段树离线处理区间查询
http://codeforces.com/contest/703/problem/D 题意:求一组数的任意区间[L,R]内的 出现偶数次的异或和,如果 是奇数次,那直接就是前缀和咯。现在是偶数次,预处理一个前缀和,再搞一次【l,r】内出现过的种类的数的异或和,两者再异或一次,就把偶数消去,把奇数留下。 而这个种类数,我们可以先把区间离线排序,线段树/树状数组维护一个【1,R】的数据原创 2016-08-07 21:36:15 · 451 阅读 · 5 评论 -
Codeforces Round #368-D. Persistent Bookcase-(离线建树+暴力xjb搞)/(主席树在线乱搞)
http://codeforces.com/contest/707/problem/D 维护一个n*m的矩阵 题意就是4个操作,操作1,给a[i][j]置1 操作2,置零 操作3,第i行取反 操作4,回到做了k步之后的状态 把询问离线,按顺序建树,按照dfs序跑一遍就得到答案了】 例如操作i和i+1都是 非4的操作 那么i+1的父亲就是i咯, 如果原创 2016-08-20 23:28:42 · 711 阅读 · 0 评论 -
hdu-5869 Different GCD Subarray Query gcd预处理 + 树状数组 + 离线
http://acm.hdu.edu.cn/showproblem.php?pid=5869 题意: 长度n的序列, m个询问区间[L, R], 问区间内的所有子段的不同GCD值有多少种. n,m 又学到一个套路,预处理一个gcd表,固定右端点,向左延伸有多少个不同的gcd值以及他们出现的位置。 每固定一个端点的话,log下降的很快,不会超过logA个。 要是预原创 2016-09-14 19:52:27 · 286 阅读 · 0 评论 -
hdu-4348-To the moon-离线处理 or 主席树区间更新
题意: ------------------------------------------------------------------------------------------------------------------------- 第一种解法,按离线建树,写起来比较简单: 类似 http://blog.csdn.net/viphong/article/d原创 2016-08-24 19:59:32 · 558 阅读 · 0 评论