原题点这里 我们发现这道题可以用树状数组套权值线段树(主席树的一些优化) (不会点这里) 我感觉我这样写下去朴素的主席树要不会写了。 我们发现一个点对答案的贡献有两部份,在其之前比其大的,在其之后比他小的。 我们每次删除一个点,把其对答案的贡献减去就好了。 我们考虑一下这样所费的空间,我们知道删除时 ...
分类:
其他好文 时间:
2018-01-18 21:14:57
阅读次数:
159
传送门 首先如果起点终点都在同一侧可以直接处理,如果需要过桥答案再加1 对于k等于1的情况 桥的坐标为x的话,a和b为起点和终点坐标 $ans=\sum_{1}^{n} abs(a_{i}-x)+abs(b_{i}-x)$ 起点和终点显然可以合并 那么 $ans=\sum_{1}^{n} abs(a ...
https://www.luogu.org/problemnew/show/2073 自己yy,明显错 以权值为下标建立权值线段树 ...
分类:
其他好文 时间:
2018-01-02 23:21:08
阅读次数:
120
类似算法总结 1、静态整体Kth 滑稽吧...sort一遍就好了。 时间复杂度$O(nlogn)$ 空间复杂度$O(n)$ 2、动态整体Kth 离散化后开一棵权值线段树,每个位置的值表示这个位置对应的那个数(离散化后的)有多少个,向上维护和; 查询时先查询左子树和sum,比较k和sum的大小:若k ...
分类:
其他好文 时间:
2017-12-29 23:35:32
阅读次数:
228
传送门 有splay的做法,有树状数组的做法。。。 最好理解的还是线段树的做法。 一开始我是这样想的,如果移动某一个人,只有当前行和最后一列会受到影响,感觉就像是个线段树,树状数组什么的。 然而接下来就想歪了,把一个人移到后面,等于把后面的整体往前移一格,gg 正确思路是权值线段树,如果一个数被移走 ...
分类:
其他好文 时间:
2017-12-28 23:31:38
阅读次数:
192
给定数组,单点修改,区间查询k小。$(n \leq 10000)$ 暴力题?挺暴力的。树状数组+动态开点线段树。 树状数组维护每个权值的前缀和。可以视为是树状数组的每个节点开一个主席树吧。 修改:修改树状数组上包含修改点的权值线段树。$O(\log^2n)$ 查询:像主席树一样不断通过二分缩小区间, ...
分类:
其他好文 时间:
2017-12-25 20:57:15
阅读次数:
165
并不敢说完全会了线段树合并,只是至少知道原理写法了。。。还是太菜了,每天被大佬吊锤qwq 我看到的几道线段树合并都是权值线段树的合并。这个算法适用范围应该只是01线段树的。 这两道算入门题了吧。。。 发现粘题面没人看(自己都懒得看),以后粘链接加题意吧。 永无乡 给$n$个没有连边的带权点,动态加边 ...
分类:
其他好文 时间:
2017-12-23 20:13:30
阅读次数:
143
20171223:更新一些关于线段树的基础用法,以及简单的zkw线段树、权值线段树,动态开点线段树,线段树的标记永久化,主席树,可持久化线段树,可持久化线段树的标记永久化(施工中) 这几天学了学各种姿势的线段树 什么是线段树呢?请先思考这样一个问题: 给定一个长度为n的数组,有m次操作,每次操作有如 ...
分类:
其他好文 时间:
2017-12-23 17:10:15
阅读次数:
93
滚回来更新,,, 在Day1我们学了最基本的线段树套平衡树 Day2开始我们要学习一些黑科技 (所以很大概率会出现Day3 w 1.线段树上的黑科技 这一段我们分几项来讲 1.权值线段树 权值线段树以权值为下标建树(就像求逆序对时用的树状数组),一开始所有节点都为0,通过线段树的区间极值,区间和来表 ...
分类:
其他好文 时间:
2017-12-16 19:40:49
阅读次数:
131
我们知道我们可以通过主席树来维护静态区间第K大值。我们又知道主席树满足可加性,所以我们可以用树状数组来维护主席树,树状数组的每一个节点都可以开一颗主席树,然后一起做。 我们注意到树状数组的每一棵树都和前一颗树没有关系,so,并不需要可持久化,一个朴素的权值线段树就可以啦。 我们知道普通的线段树是刚开 ...
分类:
其他好文 时间:
2017-12-02 23:17:08
阅读次数:
323