嘟嘟嘟 线段树好题。 其实挺水的,想暴力怎么做:每一次从这个点开始向两边扩,直到遇到第一个摧毁的房屋。 那么把暴力改成倍增,然后线段树查询区间和是否为0。时间复杂度O(nlog2n)。 题解好像有线段树的O(nlogn)的做法,但是特别麻烦,也没怎么看懂。 1 #include<cstdio> 2 ...
分类:
其他好文 时间:
2018-10-24 10:44:49
阅读次数:
152
这道题开10倍左右一直MLE+RE,然后尝试着开了20倍就A了。。。窒息 对于这道题目,我们考虑使用线段树合并来做。 所谓线段树合并,就是把结构相同的线段树上的节点的信息合在一起,合并的方式比较类似左偏树什么的。 我们对于每个节点用权值线段树查询大于它的子节点数量,然后把当前节点并到它的父亲上面去。 ...
分类:
其他好文 时间:
2018-10-24 10:44:11
阅读次数:
209
"LINK" 题目大意 给你一棵树 让你支持子树染色,子树查询颜色个数,颜色数 using namespace std; // //typename typedef long long ll; //convenient for define fu(a, b, c) for (int a = b; a ...
分类:
其他好文 时间:
2018-10-19 21:57:05
阅读次数:
140
数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。 1、索引类型有:B树索引、哈希索引、空间数据索引(R树)、全文索引。 常见的索引结构有:哈希索引和B+树索引 1)哈希,例如HashMap,查询/插入/修改/删除的平均时间复杂度都是O(1); 2)B树,查询/插 ...
分类:
数据库 时间:
2018-10-10 12:13:32
阅读次数:
299
题意:给出序列前k项中的逆序对数,构造出这个序列. 分析:使用权值线段树来确定序列元素. 逆序对的数量肯定是递增的,从最后一个元素开始逆向统计,则$a[i] a[i 1]$即位置i之前比位置i上的数大的个数.则该位置的数应该是序列中第$i a[i]+a[i 1]$大的数,通过权值线段树查询全局第k大 ...
分类:
其他好文 时间:
2018-10-02 22:19:29
阅读次数:
159
E. Lomsat gelral http://codeforces.com/contest/600/problem/E 题意: 求每个子树内出现次数最多的颜色(如果最多的颜色出现次数相同,将颜色编号求和)。 分析: dsu on tree。 这个可以解决一系列不带修改的子树查询问题。 考虑暴力的思 ...
分类:
其他好文 时间:
2018-09-27 10:36:21
阅读次数:
142
查询还是没有get到点. 可以求第K大. (中位数问题 <--> 第K大) ...
分类:
其他好文 时间:
2018-09-16 21:05:13
阅读次数:
187
动态区间 $k$ 大主席树 + 树状数组树状数组的每个点对应一颗线段树首先将所有点加入数据结构 枚举 x code: for(int i = x; i <= n; i += Lowbit(i)) Poi_G(root[i], 1, Length, k, val);区间修改时将所有的后缀树的相应位置 ...
分类:
其他好文 时间:
2018-09-04 13:37:50
阅读次数:
183
按y轴排序,y相同,按x排序,从下往上,从右往左dp(类似01背包),离散化一下x坐标,f[x]=max(f[x],f[1~x-1]+v[x][y]),用线段树查询一下1~x-1的最大值 ...
分类:
其他好文 时间:
2018-08-26 15:36:18
阅读次数:
223
01字典树的是只含有0和1两种字符的字典树,在使用它的时候,把若干数字转成二进制后插入其中 在查询树中的哪个数字和给定数字有最大异或值的时候,从根开始贪心查询就ok了 HDU4825是一道裸题:给出n个数和m次询问,每次询问给出一个数x,问在n个数中哪个数与x异或值最大 ...
分类:
其他好文 时间:
2018-08-22 19:32:45
阅读次数:
177