准备知识:树剖&Splay 一、理解LCT的工作原理 先看一道例题: 让你维护一棵给定的树,需要支持下面两种操作: Change x val: 令x点的点权变为val Query x y: 计算x,y之间的唯一的最短路径的点权的xor和 这是一道树剖裸题。我们知道,当题目中出现了维护与树上最短路相关 ...
分类:
编程语言 时间:
2018-06-08 23:18:11
阅读次数:
789
语文题,LCT维护最大生成树即可 在寻找根的时候要Splay(root)…太可怕了以前都不知道 如果不Splay据说复杂度会不对 如果不这么干会TLE extra_test 5/7 1 #include<bits/stdc++.h> 2 using namespace std; 3 struct n ...
分类:
其他好文 时间:
2018-06-08 14:10:44
阅读次数:
169
为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士。魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为1..N,边标号为1..M。初始时小E同学在号节点1,隐士则住在号节点N。小E需要通过这一片魔法森林,才能够拜访到隐士。魔法森林中居住了一些妖怪。每当有人经过一条边的时候, ...
分类:
其他好文 时间:
2018-05-31 20:34:29
阅读次数:
161
就是用 lct 维护最小生成树 "ref" cpp include include include include using namespace std; typedef pair par; int n, m, q, val[200005], zdz[200005], ans[200005], c ...
分类:
其他好文 时间:
2018-05-31 10:38:15
阅读次数:
132
某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞 ...
分类:
其他好文 时间:
2018-05-31 02:23:59
阅读次数:
146
题意:三种操作一种摧毁一条边,一种链接一条边,一种查询两个点是否联通 题解:lct的link和cut即可 ...
分类:
其他好文 时间:
2018-05-29 23:34:28
阅读次数:
198
非常好的一篇博客(LCT) 题解来源(LCT) 先抄了一遍板子【注意数据范围】 ...
分类:
其他好文 时间:
2018-05-23 23:35:46
阅读次数:
193
题解: 一道维护奇怪信息的线段树。。。 我刚开始看了标签想的是删去图上一个点后求连通性 发现不会 于是退化成一般图支持删除 插入 维护连通性 发现有2两种做法 1.lct维护 按照结束顺序先后排序,给每条边一个权值 然后我们只要维护最大生成树就好了,因为这样可以保证删除当前树上的边是不会被权值更小的 ...
分类:
其他好文 时间:
2018-05-22 00:49:10
阅读次数:
188
斜率凸优化小结 前言 很久以前考了一道叫做"林克卡特树"的题目( 还记得被八省联考支配的恐惧吗?) 正解是用直线去切一个凸函数...... 当时并不是很会。然而$APIO$讲课竟然讲了并且卧槽我竟然还听懂了。 所以就回来把这个坑给填了。 斜率凸优化 当遇到关于需要恰好选取$K$个的$DP$问题的时候 ...
分类:
其他好文 时间:
2018-05-17 16:01:12
阅读次数:
226
``` include define RG register define IL inline define _ 500005 define INF 1e18 define ll long long using namespace std; IL ll gi(){ RG ll data = 0 , ...
分类:
其他好文 时间:
2018-05-17 16:01:02
阅读次数:
331