
数据结构
文章平均质量分 83
SMT0x400
时不时更新。只保留了比较精彩的东西。
展开
-
左偏树学习笔记
两个子节点的点、一个子节点的点和叶子节点。其中比较影响树高的还是后面两类,后面两类节点占比越多,这棵树越不平衡。[1] 所以我们设想:能不能设计一个和后两类节点相关的值来减小二叉树的查询复杂度呢?为了方便,后文把这两类节点叫做外结点。我们定义每个节点iii的ddd值为iii子树内,到距离最近的外节点,总共经过的节点个数。即距离+1。如果iii本身就是一个外节点的话,那么ddd值就是111;否则从子树的ddd值转移上来。转移和建造比较简单,这里就不贴代码了。...原创 2022-08-14 21:21:11 · 312 阅读 · 0 评论 -
珂朵莉树/ODT 学习笔记
其实就是权值等于。原创 2022-08-14 21:20:17 · 428 阅读 · 0 评论 -
树状数组&线段树 的奇妙用法
树状数组只支持单点加,前缀查询,那么不妨通过一些奇妙的途径转化树状数组的性质(因为常数巨小)。原创 2022-08-14 21:19:27 · 141 阅读 · 0 评论 -
CDQ分治学习笔记
分而治之;然后统计[l,mid]对[mid+1,r]的贡献。主要难点:统计左半部分对右半部分的贡献;主要套路:利用左半部分有序的特点降低常数;把修改等操作转化为偏序关系。原创 2022-08-14 21:18:48 · 176 阅读 · 0 评论 -
[蓝书] POJ1741 点分治例题/[luogu] P4178/[GMOJ] 1166. Tree
Tree Time Limit: 1000MS Memory Limit: 30M Description Give a tree with n vertices,each edge has a length(positive integer less than 1001). Define dist(u,v)=The min distance between node u and v. Give an integer k,for every pair (u,v) of vertices is called原创 2021-11-10 19:53:02 · 126 阅读 · 0 评论 -
[USACO20FEB]Swapity Swapity Swap
这道题刚入手,我的第一反应就是:暴力模拟! 没啥好说的,直接reverse kkk 遍,时间复杂度 O(nmk)\operatorname{O}(nmk)O(nmk) ,还似乎吃得消。 结果我看了看数据范围,就吓得一身冷汗。。。 k≤109,n≤105,m≤102k\le 10^9,n\le10^5,m\leq10^2k≤109,n≤105,m≤102 这模拟只能骗到 202020 分(以内)啊? 我于是开始找规律,结果啥规律也找不出,对于每个数据,都有不同的规律,循环节也不好计算。 那——要不使用判断循原创 2021-07-12 19:50:54 · 421 阅读 · 0 评论