题意:查找区间内不同数字的个数。两种做法,一种是 树状数组离线,另一种就是主席树。树状数组离线操作的链接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
给出N个点(x,y),每个点有一个高度h
给出M次询问,问在(x,y)范围内第k小的高度是多少,没有输出-1 (k
线段树扫描线
首先离散化Y坐标,以Y坐标建立线段树
对所有的点和询问进行离线操作,将询问和点按照x,y的大小排序,从左向右,从下向上,对于相同的(x,y)插入点在询问点之前
线段树的每个节点维护10个高度,每次询问[0,mark[i].y]的第mark[i].h高的...
分类:
其他好文 时间:
2014-11-17 17:48:26
阅读次数:
266
题意:给定 n个数,查询 位置L R内 小于x的数有多少个。对于某一次查询 把所有比x小的数 ”的位置“ 都加入到树状数组中,然后sum(R)-sum(L-1)就是答案,q次查询就要离线操作了,按高度排序。#include #include #include #include #include #i...
分类:
编程语言 时间:
2014-10-14 22:58:29
阅读次数:
230
题意:
模拟python的字典。给出一个字典,然后有1000个查询,输出对应的键值。
分析:
简单粗暴的字符串神烦模拟。因为打的网络同步赛,内存限制得很死,采用了离线操作。
抓住这几个关键的符号:‘{’ '}' ',' ':' 进行操作。具体见代码及注释,数据不是非常恶心。...
分类:
其他好文 时间:
2014-10-12 19:12:48
阅读次数:
224
题目链接:hdu 3333 Turing Tree
题目大意:给定一个长度为N的序列,有M次查询,每次查询l,r之间元素的总和,相同元素只算一次。
解题思路:涨姿势了,线段树的一种题型,离线操作,将查询按照右区间排序,每次考虑一个询问,将mv ~ r的点全部标记为存在,并且对于每个位置i,如果A[i]在前面已经出现过了,那么将前面的那个位置减掉A[i],当前位置添加A[i],这样做维护...
分类:
其他好文 时间:
2014-10-11 21:18:16
阅读次数:
197
Description
Railway tickets were difficult to buy around the Lunar New Year in China, so we must get up early and join a long queue…
The Lunar New Year was approaching, but unluckily the Little ...
分类:
其他好文 时间:
2014-10-05 01:33:37
阅读次数:
349
/*
树链刨分+离线操作
题意:给你一棵树,和询问x,y
从节点x--节点1的小于等于y的最大值.
解:先建一个空树,将树的边权值从小到大排序,将询问y按从小到大排序
对于每次询问y将小于等于y的边权值的边加入,在进行询问将结果储存最后输出即可
易错点:要考虑到节点1到节点1的情况需特判。
*/
#pragma comment(linker, "/STACK:102400000,1...
分类:
其他好文 时间:
2014-09-30 18:28:59
阅读次数:
243
题意:给一些线段,然后给m个查询,每次查询都给出一些点,问有多少条线段包含这个点集中的一个或多个点解法:直接离线以点为基准和以线段为基准都不好处理,“正难则反”,我们试着求有多少线段是不包含某个查询的任意一个点的。这时候我们可以建立点集的补集,以线段的形式,如果点集的补集线段包含了某条给出的线段,那...
分类:
其他好文 时间:
2014-09-23 22:20:45
阅读次数:
263
题意:给一串数字,每次查询[L,R]中两个数的gcd的最大值。解法:容易知道,要使取两个数让gcd最大,这两个数最好是倍数关系,所以处理出每个数的所有倍数,两两间根据倍数关系形成一条线段,值为该数。那么每次查询[L,R]之间两数gcd的最大值即为查询[L,R]中值最大的线段,离线所有的查询数据,然后...
分类:
其他好文 时间:
2014-09-23 21:45:35
阅读次数:
249