link-cut-tree
C202044zxy
这个作者很懒,什么都没留下…
展开
-
[ZJOI2016]大森林
https://www.luogu.com.cn/problem/P3348原创 2020-09-16 22:00:30 · 145 阅读 · 0 评论 -
CF891C Envy
一、题目点此看题二、解法很容易看出来是lctlctlct吧,我们先随便搞一个最小生成树。询问时尝试加入给的边,如果给定的边已经在最小生成树中是可以的。然后判断连成的环中最大边权是否等于这条边,那我们就删去环上最大的边,然后加入这条边,把这条边打上不可替换标记,也就是把权值赋值为−1-1−1,最后再改回去。时间复杂度O(nlogn)O(n\log n)O(nlogn),但是会TTT,贴个...原创 2020-02-07 12:03:34 · 189 阅读 · 0 评论 -
[NOI2014]魔法森林
一、题目点此看题二、解法有一个明显的思路,就是对于每一个aaa的取值,我们找到最小的bbb,用它们去更新答案。具体来说,先把边按aaa从小到大排序,然后对于当前的aaa,就把它当做最大的aaa,现在我们要让最大的bbb最小,这不就是最小生成树吗,只是我们要动态维护,剩下的就变成了这道题,贴上代码:#include <cstdio>#include <iostream&...原创 2020-01-18 12:45:22 · 206 阅读 · 1 评论 -
Codechef MARCH14 GERALD07加强版
一、题目点此看题二、解法考虑计算一个无向图联通块的数量,一个大致的思路就是用有贡献的边来算,道理很简单,就是如果加入一条边构成了环的话,那么这条边是没有贡献的,联通块数量为n−xn-xn−x,xxx为有贡献的边数。考虑计算这个边数,一个很重要的条件就是选的边是在[l,r][l,r][l,r]这个区间内的。如果我们从一开始加入边,很多没有贡献的边可能在区间询问的时候产生贡献,关键就在于替换环...原创 2020-01-17 22:57:47 · 145 阅读 · 0 评论 -
[WC2006]水管局长
一、题目点此看题二、解法简述一下题意吧,本题就是给你nnn个点mmm条边,支持下面两种操作:1、询问(x,y)(x,y)(x,y)所有路径上最大值的最小值。2、去掉边(x,y)(x,y)(x,y),保证边在给定的mmm条边中,并且图任何时候联通。考虑询问,如果我们能维护一棵最小生成树,那么(x,y)(x,y)(x,y)在最小生成树上路径的最大值即是答案,但是本题需要删边,我们可以把...原创 2020-01-12 12:54:00 · 183 阅读 · 0 评论 -
城市旅行
一、题目点此看题二、解法考虑用 lct \text{ lct } lct 维护这个期望,我们先把柿子展开(分子考虑每个点的贡献,分母用等差数列求和):exp=a1×1×n+a2×2×(n−1)+....+an×n×1n×(n+1)2exp=\frac{a_1\times1\times n+a_2\times2\times(n-1)+....+a_n\...原创 2020-01-10 21:22:29 · 216 阅读 · 0 评论 -
[HNOI2010]弹飞绵羊
一、题目点此看题二、解法从图论角度看,我们可以把(i,i+ai)(i,i+a_i)(i,i+ai)连边,然后直接从询问的xxx一直往后跳,修改直接改连边。然后直接写了一个lct\text{lct}lct,结果样例都过不了,删边和加边都很简单,问题出现在询问,我们的根会因为加边和删边而改变,但我们要从xxx跳出去,不能用xxx和根之间的点数来衡量跳的次数。那我们建一个超级点n+1n+1n...原创 2020-01-10 17:30:16 · 196 阅读 · 0 评论 -
[学习笔记] Link-Cut-Tree
终于学了 link-cut-tree\text{link-cut-tree}link-cut-tree ,我是看FlashHu 的博客学的。概念简述lct\text{lct}lct 的思想主要是把连向某一个儿子的边划分为实边,其它的边划分成虚边。区别在于虚实是可以动态变化的,因此要使用更高级、更灵活的Splay来维护每一条由若干实边连接而成的实链。lct\text{lct}lct的主要性质...原创 2020-01-10 16:48:08 · 243 阅读 · 0 评论