![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
C画中仙
这个作者很懒,什么都没留下…
展开
-
bzoj——4260
大致题意:给一个数组,找出这个数组的两个不相交区间的值 的最大和,区间的值是区间中的值的异或和。说得很奇怪,实在不清楚就耐心看题目中的公式。大致思路:想办法得到每个位置 前面的 最大 连续区间异或值,和 后面的 最大连续区间异或值。怎么得到?字典树就起了很大的作用,在遍历数组的时候,每次往01字典树中添加从前缀异或和(计算后面 的最大连续区间异或值的时候是用后缀异或和)。所以字典树中存的就是...原创 2019-10-15 20:17:10 · 252 阅读 · 0 评论 -
震惊,全中国有十亿人都不知道它————笛卡尔树(Cartesian_tree)
笛卡尔树学习笛卡尔树的完整步骤:1.打开音乐播放器,播放《你是人间四月天》2.看完这篇博客笛卡尔树:笛卡尔树是带有一些特殊性质的树形结构,好像说了和没有说一样。性质:笛卡尔树中有这样的二元组(key,value)。其中key满足二叉搜索树的性质(即父节点的key值大于左儿子,父节点的key值小于右儿子 )。value满足堆的性质(即父节点的value值小于子节点的...原创 2019-07-23 14:37:54 · 1100 阅读 · 2 评论 -
2019HDU集训——6625 three arrays
大致题意:给两个数组a,b,现在可以把a,b分别重排,也就是a,b中的元素可以任意改变位置。然后把a,b中每个位置的数异或起来。要求最终得到的数 组成的 数组中元素的字典序最小。(感觉自己描述地好垃圾,算了,看了题的都知道是什么意思)。很明显,要用到字典树,因为字典树中的“前缀”性质就简直是这道题的利器。思路:把a数组中的数分解成二进制去建一棵字典树。b也同样建一棵。然后根据在纸上画出来的字典...原创 2019-08-23 22:09:31 · 128 阅读 · 0 评论 -
洛谷P2574——XOR的艺术
就不说题意了,毕竟中文的简单题意,很显然的线段树,用 lazy数组去维护一下区间被修改多少次,每次区间被修改,区间中1的个数就变成区间长度减去原来区间中1的个数,然后就能解决这道题了。感觉洛谷评分有问题,这明明是道很简单的题,为什么这能是蓝题。状态太差了,我要刷题!!!最后,代码:#include<bits/stdc++.h>using namespace std;s...原创 2019-09-24 15:40:11 · 423 阅读 · 0 评论