很好的博客:https://blog.csdn.net/qq_39809664/article/details/79934516 可持久化数组 可持久化线段树 1(主席树) [CQOI2015]任务查询系统 这道题将可以每秒建棵权值线段树,并以1~lim(优先级的最大值)为区间大小记录个数,这样就可 ...
分类:
其他好文 时间:
2018-12-06 23:25:07
阅读次数:
177
"嘟嘟嘟" 很显然是主席树啊。 首先要稍微想想:主席树的板子是单点插入,区间查询,而区间询问是用的是前缀和相减。但这道题是区间修改,单点查询。插入和查询操作是相反的。 那么就能想到前缀和的逆运算——差分。首先把修改区间拆成$L$和$R + 1$两个时间点,然后按时间排序,遇到$L$就把对应的优先级$ ...
分类:
其他好文 时间:
2018-12-05 00:18:02
阅读次数:
187
Codeforces1080F. Katya and Segments Sets 题意:给定n个集合,每个集合里有一些区间$[l_i,r_i]$,有m次询问,每次询问区间$[x,y]$中,是否包含了集合a到集合b中每个集合至少一个区间。 做法:按区间右端点排序,从左到右建主席树,维护每个集合最大的左 ...
分类:
其他好文 时间:
2018-12-03 10:33:06
阅读次数:
225
按照美味值从大到小排序,对于每个询问,我想二分找到一个前缀来满足条件 那么以单价为下标建主席树,维护区间的最大体积和 以及满足这个最大体积需要的价钱 然后二分答案,再在主席树上二分,找到恰好满足的那个位置(肯定是单价越小越好) 复杂度$O(nlog^2n)$ ...
分类:
其他好文 时间:
2018-12-01 20:10:43
阅读次数:
191
对着题目yy了一天加上看了一中午题解,终于搞明白了~~我太弱了~~ 连边就是合并线段树,把小的集合合并到大的上,可以保证规模至少增加一半,复杂度可以是$O(logn)$ 合并的时候暴力dfs修改倍增数组和维护主席树即可 然后树上主席树就是维护节点到根节点的信息即可, 询问链上的第k大时,画图后可以发 ...
分类:
其他好文 时间:
2018-11-26 22:05:23
阅读次数:
258
看了很久的主席树,最后看https://blog.csdn.net/williamsun0122/article/details/77871278这篇终于看懂了 ...
分类:
其他好文 时间:
2018-11-26 02:13:30
阅读次数:
178
主席树上树 写起来有点麻烦 这题两个操作 一个是查找路径上的第k大 一个是连边 首先处理树上路径第k大 如果要找$u v$的第k大 那么一棵主席树u表示的是点u到根的每个权值出现了几次 所以求树上路径第k大就可以直接用$T_u + T_v T_{lca(u,v)} T_{fa(lca(u,v))}$ ...
分类:
其他好文 时间:
2018-11-24 18:03:54
阅读次数:
236
既然选择要继续,就要继续努力辣 距离WC的时间也不多了,先复习和学习一波算法 数据结构 主席树[] 线段树合并[] CDQ分治[] 线段树分治[] 虚树[] 可持久化01trie[] 整体二分 KD tree[] 点分治[] splay[] LCT[] dsu[] 长链剖分[] 左偏树[] 算法 模 ...
分类:
其他好文 时间:
2018-11-24 11:45:20
阅读次数:
253