
数据结构
文章平均质量分 89
init1064573673
这个作者很懒,什么都没留下…
展开
-
[LNOI2014] LCA
题面 LCA 题解 题意很好理解 首先暴力的方法肯定是直接枚举求两个点的 LCALCALCA 的深度,复杂度是 O(mnlogn)O(mnlogn)O(mnlogn)。 考虑对暴力的优化,用 tarjantarjantarjan 离线求,然后 O(1)O(1)O(1) 查。但是时空间都不允许。 ...原创 2021-05-25 18:12:34 · 144 阅读 · 0 评论 -
【机房练习赛 5.15】奇袭 && CF526F Pudding Monsters
题面 Pudding Monsters 问题描述 由于各种原因,桐人现在被困在 UnderWorldUnder WorldUnderWorld(以下简称 UWUWUW)中,而 UWUWUW 马上要迎来最终的压力测试——魔界入侵。 唯一一个神一般存在的 AdministratorAdministratorAdministrator 被消灭了,靠原本的整合骑士的力量 是远远不够的。所以爱丽丝动员了 UWUWUW 全体人民,与整合骑士一起抗击魔族。 在 UWUWUW 的驻地可以隐约看见魔族军队的大本营。整合骑士们原创 2021-05-18 18:48:51 · 218 阅读 · 0 评论 -
[NOIP2015 提高组] 运输计划 lca 正确做法
题面 运输计划 题解 因为在写树剖的时候写崩了,所以这里提供一个 lcalcalca 的做法。 虽然有人说 lcalcalca 会被卡,但是我觉得用 tarjantarjantarjan 写出来复杂度也不假。(复杂度分析在下文) 前言 读完题不难发现,其实我们要清空权值的边就是在清空它之后,能把最长的路径降到最小。最大的最小我们想到了什么?自然而然就能稳一波二分答案。所以就可以我们二分在清空后最长的路径的长度。 二分答案的具体步骤 于是现在我们就需要写一个 checkcheckcheck 函数来判断答案是否原创 2021-05-12 21:51:56 · 110 阅读 · 0 评论 -
[Violet]蒲公英 分块 + 二分查找 详解
题面 蒲公英 解析 前言 一道从黑掉到紫的阴间分块题。。。 显然是一道求静态区间众数题。 因为区间众数不具有可加性,用线段树,树状数组的数据结构并不好维护,在加上本题的数据范围和两秒的限制,所以本题可以分块。 暴力做法 瞎搞能拿70 ~ 80 分,这里就不赘述了。 分块做法 正常分块,不过维护的信息变为从 块i块_i块i ~ 块j块_j块j 的众数是哪个,我们用 f[i][j]f[i][j]f[i][j] 来表示。 假设已经知道这个信息怎么维护了,那么对于每个询问 LLL ~ RRR ,答案只会有三种情原创 2021-05-02 20:11:51 · 136 阅读 · 0 评论 -
21.3.2 树状数组 总结
树状数组 特点 树状数组 c[x]c[x]c[x] 维护序列 aaa 的区间 [x−lowbit(x)+1,x][x - lowbit(x) + 1 , x][x−lowbit(x)+1,x] lowbit(x) = x & -x; 性质 (摘自小蓝书) c[x]c[x]c[x]保存以它为根的子树中所有叶节点的信息和 c[x]c[x]c[x]的儿子节点(含它本身)的个数等于 lowbit(x)lowbit(x)lowbit(x) 后的位数。 除根节点外,每个内部节点 c[x]c[x]c[x]原创 2021-03-02 19:48:48 · 178 阅读 · 0 评论