无聊的小Y对这种事情毫无兴趣,只是对把树分块这个操作感到十分好奇。他想,假如能把一棵树分成几块,使得每个块中的点数都相同该有多优美啊!小Y很想知道,能有几种分割方法使得一棵树变得优美。小Y每次会画出一棵树,但由于手速太快,有时候小Y画出来的树会异常地庞大,令小Y感到十分的苦恼。但是小Y实在是太想知道 ...
分类:
其他好文 时间:
2020-04-28 20:27:37
阅读次数:
66
「SCOI2005」王室联邦 "传送门" 树分块。 考虑把树,按照节点个数每 $B$ 个分块,把块顶作为省会。 "这是" 具体证明 参考代码: ...
分类:
其他好文 时间:
2020-01-24 00:16:42
阅读次数:
83
正确的树分块做法 这是一种本题对所有树都适用的树分块做法。 ___ 前置:优化思路 树分块的瓶颈在于,当树为菊花图时,访问的联通块比较多。本质上说,单次询问访问了许多边,个数为$O(n)$。 所以想办法使得不再访问那么多边。 正题:做法 我们对原树进行分块,一定要保证是块内连通,设块的大小为$O(S ...
分类:
其他好文 时间:
2020-01-11 14:46:31
阅读次数:
55
第九章:查找 静态查找表: 1.顺序表的查找:顺序查找 从后往前找,0单元设置哨兵 存储形式是顺序表或者是线性链表 查找算法的平均查找长度= 查找成功时的平均查找长度+查找不成功时的平均查找长度 则顺序查找的不成功长度:每个元素不成功的长度都是(n+1),即每次不成功实际上都是跟关键字比较了(n+1 ...
分类:
其他好文 时间:
2019-12-28 00:00:25
阅读次数:
113
王室联邦 【题意】树分块。求共有多少子树规模在$(B,3B)$。 【解题】dfs 或 bfs,用栈维护。 ...
分类:
其他好文 时间:
2019-11-07 09:19:33
阅读次数:
88
并查集 树状数组 线段树 分块 点分治 二叉查找树与平衡树初步 离线分治算法 可持久化数据结构 总结与练习 ...
分类:
其他好文 时间:
2019-10-10 12:56:44
阅读次数:
81
建议有莫队和待修莫队的基础的人观看 首先,我们要先确定怎么把树分块 以上方法可以稳定的将树分块的大小稳定在$[B,3B]$之间 排序方法是:先按$bl[opt.u]$再按$bl[opt.v]$再按$opt.tim$ 然后我们考虑指针移动, 假设我们做完了路径$u1 v1$, 现在我们要做路径$u2 ...
分类:
其他好文 时间:
2019-09-22 21:57:07
阅读次数:
87
先干的T2 1个小时,啥都没打出来, 想到了线段树,分块,莫队,都能骗到不少分,但我都没想到怎么实现 其中有20分钟浪费在了没打完的线段树上,想好了再打,别浪费时间 T1 自己努力够到的天花板,只是别人的起跑线 找了10分钟规律,找到了父节点与儿子节点的关系,然后用手去打表,想要卡常,但你能不能先想 ...
分类:
其他好文 时间:
2019-08-03 13:03:39
阅读次数:
94
线段树分块: build()、ask()、change()、speard()、shrink()、 build() 建树: speard() 标记下放: change() 修改区间: ask() 查询: shrink() 信息维护独立函数 板子: ...
分类:
其他好文 时间:
2019-06-26 20:46:45
阅读次数:
176
本章我们学习了对查找表的查找,查找表主要包括三种:线性表、树表和散链表。 (1)线性表的查找,主要包括顺序查找、折半查找、分块查找。 1)顺序查找算法简单,对表结构无任何要求,但查找效率较低,适用于不经常做插入和删除操作的线性表。 2)折半查找对表结构要求较高,查找效率也较高,适用于不经常做插入和删 ...
分类:
其他好文 时间:
2019-06-03 00:16:12
阅读次数:
129