随笔分类 - 数据结构
摘要:二进制分组——强制在线的有力算法 ~~这个标题似乎有点既视感~~ 这个算法是在2013年的集训队论文集中《浅谈数据结构题的几个非经典解法》里面介绍的。 给个 "link" 。 有兴趣的可以自己学习一下。 应用 专门对付强制在线的算法,当修改之间对答案的贡献互相独立(这个和CDQ一样)(或可以快速合并
阅读全文
摘要:强联通分量模板 割点模板 割边模板 最小生成树:Kruskal算法 完全背包 Miller_Rabin 线性筛 单源最短路$SPFA$ $ST$表
阅读全文
摘要:"$ProblemLink$" 题目大意 求序列所有连续和的异或值 Solution 考虑单独每一个二进制位$k$ 设$S_i=\sum\limits_{j=1}^ia[j],(S_0=0)$ 我们只需要知道$\sum\limits_{i=1}^n\sum\limits_{j=0}^{i 1}(S(
阅读全文
摘要:"$Problem\ Link$" 题目大意 你被给定一棵n个点的树,点从1到n编号。每个点可能有两种颜色:黑或白。我们定义dist(a,b)为点a至点b路径上的边个数。 一开始所有的点都是黑色的。 要求作以下操作: 0 i 将点i的颜色反转(黑变白,白变黑) 1 v 询问dist(u,v)的最小值
阅读全文
摘要:又是啃课件的一天 定义 构造一棵含$n$个叶子结点的$k$叉树, 其中第$i$个叶子结点权值$w_i$, 要求最小化 $\sum w_i d_i$, $d_i$表示$i$结点的深度。 这样的合法的树被称为(k叉)$Huffman$树 构造方法 增加一些叶子结点为$0$的结点, 使得它成为满$k$叉树
阅读全文
摘要:P4747 [CERC2017]Intrinsic Interval 前言 这道题有高大上的 "析合树" 做法 不过我不会,可能退役后会考虑学学吧。 这题还有线段树优化建边缩点的好办法。 我还是不会,可能以后会学学吧。 题目大意 "$ProblemLink$" 其实题目里面讲的很清楚了。 简单的说就
阅读全文
摘要:用Splay维护凸包 以后还是建议用CDQ吧。 Splay比较难调试
阅读全文
摘要:一道LCT练手题, 将询问离线,单独考虑每个颜色 我们要求的就是至少经过某个颜色一次的路径数。 每次计算变化量。 考虑容斥, 就是用总的路径数减去不经过的次数 标记那个颜色的点为白色,其他的为黑色 不经过的次数就是黑连通块的大小的平方。 我们将所有的黑点向父亲连边,每个黑连通块实际上最上面有一个白点
阅读全文
摘要:本质上就是暴力 用分块优化而已 时间复杂度$O(kn\sqrt n)$ 在高维时候可以把K D Tree吊起来打 cdq分治连影子都没了 cpp / @Date : 2019 08 13 19:48:10 @Author : Adscn (adscn@qq.com) @Link : https://
阅读全文
摘要:题目大意 给出$n$个数,每次交换两个数$l,r$之后维护逆序对数量。 题解 初始答案用归并排序求即可。 我们考虑交换的影响, 显然对于区间$[1,l)$与$(r,n]$,本次交换并不会对其贡献有什么影响。 对于$l$向右移之后,在区间$[l,r]$中比$l$小的数的贡献消失了,新增了比$l$大的数
阅读全文
摘要:"$Link$" 练手题 LCT板子套线段树2 cpp / @Date : 2019 07 15 18:57:11 @Author : Adscn (adscn@qq.com) @Link : https://www.cnblogs.com/LLCSBlog / include using name
阅读全文
摘要:Problem: 比特山是比特镇的飙车圣地。在比特山上一共有 $n$ 个广场,编号依次为 $1$ 到 $n$,这些广场之间通过 $n − 1$ 条双向车道直接或间接地连接在一起,形成了一棵树的结构。 因为每条车道的修建时间以及建筑材料都不尽相同,所以可以用两个数字$ l_i, r_i $量化地表示一
阅读全文
摘要:方法一,树套树 外层权值线段树记值域,内层平衡树记权值 修改就删掉原来的再加上新的 查询区间kth,就先二分值域,对于每个值域,查询一下下标在[l,r]区间内的数有多少个,然后跳就可以了 时间复杂度 $O(mlog^2 n)$ 空间复杂度 $O(nlogn)$ lg数据太毒瘤 ... 拼命优化 本机
阅读全文
摘要:指针Splay题解 前言 Splay是像我这样的小蒟蒻一开始学的平衡树。 虽然Splay常数不小,但是功能十分全面,既可以当区间树也可以当平衡树(当然这两者不可兼顾) 看到题解里一堆dalao写数组,但是Splay本来是应该用指针实现的(据说这样常数会小很多),于是蒟蒻就开始写起了指针Splay。。
阅读全文
摘要:退役oier day1t1见ancestor 一道ODT板子题都没人写? 主要(考场)思路 从小到大解决深度 每次解决一个深度,贡献就是与上一个深度之差乘上区间个数 之后就统统split 暴力枚举深度那里珂以用hash优化暴枚举的常数,懒得搞 复杂度因为每次split会删掉一个点,所以是严格nlog
阅读全文

浙公网安备 33010602011771号