题面 "题目传送门" 解法 思路很妙 参见 "hzwer的题解" ~~主席树+LCT……真是个毒瘤的组合~~ 时间复杂度:$O((m+q)\ log\ n)$ 代码 cpp include define N 400010 using namespace std; template void chkm ...
分类:
其他好文 时间:
2018-08-16 00:39:46
阅读次数:
162
??第1章 阿里云ECS基础篇本章节讲解阿里云ECS的基础部分内容:阿里云控制台界面介绍和使用,ECS底层架构,ECS如何选型及配置等等。1-1 ECS&Centos7导学1-2 ECS基础介绍1-3 ECS云服务逻辑架构1-4 阿里云管理控制台使用 第2章 阿里云ECS进阶篇本章讲解什么是专线、B ...
分类:
其他好文 时间:
2018-08-15 00:39:42
阅读次数:
237
题面 "题目传送门" 解法 正解是LCT,当然分块也可以做 先简单讲一下分块的做法吧: 分成$\sqrt n$个块,每一个元素维护最近的到达不是自己这一块的位置和步数 预处理直接倒着做即可 时间复杂度:$O(m\sqrt n)$ 当然,LCT的解法比较优,但是代码较长 显然,每一次跳相当于一条边 可 ...
分类:
其他好文 时间:
2018-08-14 22:59:25
阅读次数:
230
题面 "题目传送门" 解法 LCT模板题 代码 cpp include define N 300010 using namespace std; template void chkmax(node &x, node y) {x = max(x, y);} template void chkmin(n ...
分类:
其他好文 时间:
2018-08-14 22:55:59
阅读次数:
186
题面 "题目传送门" 解法 LCT模板题 有些博客讲得挺好的,转一下 "博客" 这个挺详细的 时间复杂度:$O(m\ log\ n)$,~~尽管常数巨大~~ 代码 cpp include define N 20010 using namespace std; template void chkmax ...
分类:
其他好文 时间:
2018-08-14 22:51:19
阅读次数:
207
题面 "题目传送门" 解法 维护双关键字好像不太可做吧 所以我们先按照$a$从小到大排序,然后逐一检查$b$ 如果构成环,那么把环上最大的$b$删掉 只要出现1和$n$连通的时候就更新答案 时间复杂度:$O((n+m)\ log\ n)$ 代码 cpp include define N 150010 ...
分类:
其他好文 时间:
2018-08-14 22:48:29
阅读次数:
218
树上弹飞绵羊,现场树分块没写出来= = 先预处理倍增,新建一个n+1节点,能弹到就建一条边,然后每操作2就cut,然后link,1的答案就是x到n+1的距离, // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC opti ...
分类:
其他好文 时间:
2018-08-14 11:32:15
阅读次数:
157
【题意概述】 给一棵以1为根的树,树上的每个节点有一个ai值,代表它可以传送到自己的ai倍祖先,如果不存在则传送出这棵树。现在询问某个节点传送出这棵树需要多少步。 【题解】 其实是把“弹飞绵羊”那道题从序列上搬到了树上,解法其实类似。 我们可以用LCT维护传送的关系,若点i存在ai倍祖先,那么就把他 ...
分类:
其他好文 时间:
2018-08-13 22:07:49
阅读次数:
158
LCT强强!以前总是觉得LCT非常的难懂(当然现在也是的),但实际上它真的是很厉害的一种东西。它是一种动态的链剖分结构,其实就是对于剖分出来的重链使用LCT去进行维护。cut 与 link 两个操作让我们可以构造出希望存在的链(动态更新),而 split 操作则可以提取出任意一条从 \(u\) 到 ...
分类:
其他好文 时间:
2018-08-12 01:29:06
阅读次数:
140