题意:查找区间内不同数字的个数。两种做法,一种是 树状数组离线,另一种就是主席树。树状数组离线操作的链接http://www.cnblogs.com/oneshot/p/4110415.html两种方法思路差不多,都是扫一遍,如果这个数曾经出现过那么就 在上次位置-1,如果没有出现过就在 当前位置+...
分类:
其他好文 时间:
2014-11-21 15:57:34
阅读次数:
211
题意查询区间 [l,r]内有多少个不同的数字先把所有询问按 右端点进行排序,然后离线操作。如果该位置的数字 已经出现过那么把前一个位置-1,当前位置+1。扫一遍输出。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #inc...
分类:
编程语言 时间:
2014-11-20 14:55:05
阅读次数:
197
http://acm.hdu.edu.cn/showproblem.php?pid=4417
Super Mario
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2720 Accepted Submission(s...
分类:
编程语言 时间:
2014-11-14 00:17:48
阅读次数:
283
HDU 3333 Turing Tree
题目链接
题意:给定一个数组,每次询问一个区间,求出这个区间不同数字的和
思路:树状数组离线处理,把询问按右端点判序,然后用一个map记录下每个数字最右出现的位置,因为一个数字在最右边出现,左边那些数字等于没用了,利用树状数组进行单点修改区间查询即可
代码:
#include
#include
#include
#inc...
分类:
编程语言 时间:
2014-10-16 11:18:12
阅读次数:
220
题意:给定 n个数,查询 位置L R内 小于x的数有多少个。对于某一次查询 把所有比x小的数 ”的位置“ 都加入到树状数组中,然后sum(R)-sum(L-1)就是答案,q次查询就要离线操作了,按高度排序。#include #include #include #include #include #i...
分类:
编程语言 时间:
2014-10-14 22:58:29
阅读次数:
230
HDU 4417 - Super Mario( 主席树 + 线段树/树状数组离线处理 + 划分树)这道题有很多种做法,我先学习的是主席树。后面陆续补上线段树离线和划分树题目大意就是给定一个区间给定一个数列,每次要求你查询区间[L,R]内不超过K的数的数量主席树做法:最基本的是静态第k大,这里是求静态...
分类:
其他好文 时间:
2014-10-04 19:04:07
阅读次数:
360
题目大意:有一些珠子串成的项链,珠子有不同的颜色。多次询问一段区间内有多少不同的颜色。
思路:这个题让我学会了一种巧妙的离线做法。将问题按左端点排序。处理出来每个颜色第一个出现的位置,和每个颜色下一个出现的位置。然后1到cnt循环,如果这里有一个问题的左端点是当前节点,就处理他的答案,方法是前缀合,可以用树状数组。然后把这个颜色的下一个出现的位置+1。
这样做就避免了一种颜色在询问中被...
分类:
其他好文 时间:
2014-10-01 15:21:51
阅读次数:
205
题意:给一些线段,然后给m个查询,每次查询都给出一些点,问有多少条线段包含这个点集中的一个或多个点解法:直接离线以点为基准和以线段为基准都不好处理,“正难则反”,我们试着求有多少线段是不包含某个查询的任意一个点的。这时候我们可以建立点集的补集,以线段的形式,如果点集的补集线段包含了某条给出的线段,那...
分类:
其他好文 时间:
2014-09-23 22:20:45
阅读次数:
263
题意:给一串数字,每次查询[L,R]中两个数的gcd的最大值。解法:容易知道,要使取两个数让gcd最大,这两个数最好是倍数关系,所以处理出每个数的所有倍数,两两间根据倍数关系形成一条线段,值为该数。那么每次查询[L,R]之间两数gcd的最大值即为查询[L,R]中值最大的线段,离线所有的查询数据,然后...
分类:
其他好文 时间:
2014-09-23 21:45:35
阅读次数:
249
题意:统计一段序列【L,R】的和,重复元素只算一次。解法:容易看出在线做很难处理重复的情况,干脆全部讲查询读进来,然后将查询根据右端点排个序,然后离散化数据以后就可以操作了。每次读入一个数,如果这个数之前出现过,那么删除之前出现的那个数,改加上这个数,然后进行所有右端点小于等于此时下标的查询即可。关...
分类:
其他好文 时间:
2014-09-13 22:45:56
阅读次数:
207