1 mapmp;//在线主席树 2 int a[N],tot,n,q; 3 int T[M],lson[M],rson[M],val[M]; 4 int bulid(int l,int r){ 5 int root=tot++; 6 val[root]=0; 7 int ...
分类:
其他好文 时间:
2015-04-08 00:56:45
阅读次数:
140
题目大意见http://pan.baidu.com/s/1o6zajc2
主席树裸上就好了。。。
#include
#include
#include
#include
#define M 100100
using namespace std;
struct Segtree{
Segtree *ls,*rs;
int size;
long long sum;
void* op...
分类:
其他好文 时间:
2015-04-07 15:41:45
阅读次数:
129
转载请注明出处:http://www.cnblogs.com/fraud/ ——by fraud2224: Boring CountingTime Limit:3 SecMemory Limit:128 MBDescriptionIn this problem you are given a num...
分类:
编程语言 时间:
2015-04-07 00:28:27
阅读次数:
153
每个点维护一颗以深度为下标,size-1为值的线段树,保存整颗子树的信息,这样就可以查询了,但是如果为每个节点都建立这么一颗树,显然会MLE,所以考虑在DFS序上建立主席树,然后每个节点原来对应的线段树树就是现在的两个线段树相减所得到的树。 1 /*************************....
分类:
其他好文 时间:
2015-04-06 12:37:13
阅读次数:
133
【转】主席树:对于序列的每一个前缀建一棵以序列里的值为下标的线段树(所以要先离散化),记录该前缀序列里出现的值的次数;记离散后的标记为1~n; (下面值直接用1~n代替;)对于区间[x,y]的第k大的值,那么从root[x-1],root[y]开始,t=root[y].[1,mid]-root[x-...
分类:
其他好文 时间:
2015-04-05 21:49:20
阅读次数:
122
题目链接
题意:给n个数,m次查询,求[l,r]之间不重复数的个数。
思路:主席树。用一个map记录每个值在当前操作下最新的位置,从前往后插入主席树。对于查询[l,r],窝们在root[ l ]下查询在r之前的不重复数的个数。详见代码:/*********************************************************
file name: spoj3267...
分类:
其他好文 时间:
2015-04-04 16:47:47
阅读次数:
235
好久没写题解了。但是这题太神了然后做法太神了于是写一下。这题做法很多,比如黄学长hzw的权值线段树套线段树,比如学长云的bit套主席树(其实是写法更神然后我不会用)。然后看到hzhwcmhf大神题解。http://tieba.baidu.com/p/2246783535震惊了。好了开说说做法。建一颗...
分类:
其他好文 时间:
2015-04-01 23:27:59
阅读次数:
216
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=32356Given a sequence of n numbers a1, a2, ..., anand a number of d-queries. A d-quer...
分类:
其他好文 时间:
2015-03-28 23:12:30
阅读次数:
238
跟随着潮流,弱弱的学习了一下主席树。明白了思想之后,第一次比较快的自己写出了代码。cogs930找第K小的数题目大意:静态区间第K小的查询。思路:裸裸的主席树模板题。#include#include#include#includeusing namespace std;struct Node{ .....
分类:
其他好文 时间:
2015-03-18 17:28:53
阅读次数:
130
思路 之前知道这道题是用时代的眼泪划分树写的TAT好复杂我看不懂 然后主席就来拯救大家啦~\(≧▽≦)/~ 学了这么久还不会主席树QAQ今天才学的,又T又W的搞得我要死。。 然后学到了离散化的新写法,不需要用Map。。 基本思想就是针对[1,L]的每一个L开一个线段树,记录下[1,L]中每...
分类:
其他好文 时间:
2015-03-18 17:25:39
阅读次数:
178