主席树
Roll_Keyboard
这个作者很懒,什么都没留下…
展开
-
spoj cot Count on a tree (主席树)
题意:思路: 我们根据dfs顺序建立主席树。求树上第k大,对于u到v的一条路径,我们用u的树+v的树,很明显lca(u,v)多算了一次,fa[lca(u,v)]多算了两次,所以用u的树+v的树-lca(u,v)的树-fa[lca(u,v)]的树即可错误及反思:代码:#include<bits/stdc++.h>...原创 2018-06-03 13:25:19 · 206 阅读 · 0 评论 -
hdu 4348 To the moon (带标记主席树)
题意:思路: 每次修改,就新开一个树,如果大小是l到r包含叶子节点的一颗树自然是不可以的,那么我们只能保存包含他们的上面的节点,并且lazy也要同步更新(这一步和线段树很类似),但是,我们并不能pushdown,因为pushdown会直接导致空间炸掉。 那么我们为了能够用到lazy,那么我们...原创 2018-06-03 21:00:13 · 194 阅读 · 0 评论 -
hdu 5111 Alexandra and Two Trees (主席树+树剖)
题意:给你两颗树,q次查询,每次查询,问你第一颗树u1到v1,第二棵树u2到v2上,出现的数字交集大小,每颗树上不会有重复数字思路: 我们首先先想这样一个问题,给你两个数列a1,a2,a3...ana1,a2,a3...ana_1,a_2,a_3...a_n和b1,b2,b3,...bmb1,b2,b3,...bmb_1,b_2,b_...原创 2018-06-11 16:13:48 · 254 阅读 · 0 评论 -
CodeChef CLONEME Cloning (主席树+HASH)
题意: 一个数列,q次查询,每次给你l1,r1,l2,r2l1,r1,l2,r2l_1,r_1,l_2,r_2,问你将l1到r1,l2到r2l1到r1,l2到r2l_1到r_1,l_2到r_2这两个区间的数排序后,如果一个位置不同或者全部相同则称为相似,对于每次询问,回到是否相似思路: 排序后比...原创 2018-06-12 14:12:10 · 293 阅读 · 0 评论 -
hdu 3727 Jewel (主席树)
题意:思路: 主席树模板题,其实权值线段树也行,练练板子熟练度了 每次Insert就是新开一颗树,区间第k大和总体第k大就是正常的静态主席树操作,查询排名要注意,是包含那个数的错误及反思:代码:#include<cstdio>#include<algori...原创 2018-06-05 16:11:47 · 268 阅读 · 0 评论 -
zoj 2112 Dynamic Rankings (主席树+树状数组)
题意:思路: 动态区间第k大,我用的是主席树+树状数组,这个不是最优解,因为空间很吃紧,正解应该是整体二分,CDQ分治什么的,然而现在不会,会了补上写法 那么我们来说一下怎么用主席树过,首先我们发现,假如我们改变了x,那么对应就影响了x,x+1,x+2,…..n这几颗树,暴力地每个开一个时间...原创 2018-06-05 14:29:27 · 204 阅读 · 0 评论 -
hdu 4866/bzoj 3932 Shooting/任务查询系统(主席树)
题意:&nbsp;&nbsp;&nbsp;&nbsp; 有n条平行于x轴的线段,m次射击,每次射击射中前k个线段,得到的分数为∑ki=1di∑i=1kdi\sum_{i=1}^k{d_i}其中didid_i为线段到x轴距离,k为(a∗pre+b)modc(a∗pre+b)modc(a*pre+b)\mod c,pre为上次得分,并且如果pre大于p,那么本次得分翻倍思路:&nbsp;&...原创 2018-06-12 17:03:06 · 169 阅读 · 0 评论 -
spoj PT07J Query on a tree III (主席树+dfs序)
题意:一棵树,每次查询某个子树的第k大思路: 询问子树的问题,因为子树的dfs序是连续的一个区间,所以我们将这棵树dfs地建立主席树,查询子树就是查询子树对应的区间,这样就把树变成数列了错误及反思: 其实很简单,但是spoj卡常啊,在优化了常数,vector变成链式前向星,用了快读,...原创 2018-06-12 20:40:05 · 216 阅读 · 0 评论 -
hdu 5919 Sequence II (主席树)
题意:思路: 乍一看以为是神题,想了半天都没想到怎么写,一看题解发现读错了。。。 和D-query这题一样,只不过因为要求最前面的数,所以需要从后向前添加。首先维护的不是权值线段树,1-n维护a[1]-a[n]出现过几次,如果之前某个数出现过,那么我们直接在前一棵树的基础上减去之前的位置...原创 2018-06-06 14:57:16 · 237 阅读 · 0 评论