
Lca
KsCla
这个作者很懒,什么都没留下…
展开
-
noip2016 Day1 T2:天天爱跑步(Lca+树上差分)
题目描述小c同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务。这个游戏的地图可以看作一一棵包含 个结点和 条边的树, 每条边连接两个结点,且任意两个结点存在一条路径互相可达。树上结点编号为从到的连续正整数。现在有个玩家,第个玩家的起点为 ,终点为 。每天打卡任务开始时,所有玩家在第秒同时从自己的起点原创 2016-12-02 21:19:30 · 2519 阅读 · 5 评论 -
学习笔记:tarjan求lca
今天学了一下tarjan求lca(离线的),时间复杂度为O(n*a(n)),就是并查集的时间复杂度。对于一个询问(u,v),我们先把它加进u开头的与v开头的邻接链表。然后做一遍Dfs。我们肯定会先Dfs到其中一个节点(假设是u),在Dfs到另外一个(v)。那么我们在Dfs到u的时候,把vis[u]标为true,然后在Dfs到v的时候,我们处理所有vis为true的v的邻接链表中的u。它们的lc原创 2016-12-16 22:00:42 · 936 阅读 · 2 评论 -
bzoj2588:Count on a tree(可持久化线段树+Lca)
2588: Spoj 10628. Count on a treeTime Limit: 12Sec Memory Limit: 128 MBSubmit: 5524 Solved: 1306Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的原创 2017-01-23 20:50:56 · 727 阅读 · 0 评论 -
BZOJ4538:[Hnoi2016]网络 (整体二分+Lca+树状数组/线段树+路径交/树链剖分+Heap)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4538题目分析:这题网上好多人写树剖啊,都是把一条路径的区间搞出来之后取反更新,删除的话就套个Heap或者写线段树CDQ分治blablabla,时间复杂度O(nlog3(n))O(nlog^3(n)),好像因为树剖和Heap的常数特别小所以根本不虚。网上某大神用这种方法8200ms就过了,而原创 2019-12-28 01:25:53 · 695 阅读 · 0 评论 -
BZOJ4771:七彩树 (LCA+Treap+可持久化线段树)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4771题目分析:一道很妙的题。先简化问题:假设没有深度限制,问题就变成了一棵子树中本质不同的颜色个数。只要将DFS序搞出来,就变成了一段区间中不同的数的个数,这个直接用可持久化线段树就可以解决了。有深度限制怎么办呢?我们可不可以按深度顺序将这些点加入主席树呢?答案是不可以的。因为以深度为顺序原创 2017-10-16 14:11:33 · 1130 阅读 · 0 评论 -
BZOJ3991:[SDOI2015]寻宝游戏 (DFS序+LCA)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3991题目分析:一开始看到这题完全没头绪,感觉应该很简单然而就是不会。过了一会儿我忽然间记起来,某个点在当前虚树上的父亲就等于它与DFS序中前驱后继的LCA深度最大的那个。然后就可以用一波分类讨论,看一下它是不是当前点集中某两个点的LCA,以及它是不是当前虚树的叶子节点/根节点之类...原创 2018-03-06 21:06:54 · 374 阅读 · 0 评论 -
Codeforces 809E:Surprise me! (莫比乌斯反演+虚树)
题目传送门:http://codeforces.com/contest/809/problem/E题目分析:一道套路到极点的题目。公式推导直接见https://blog.sengxian.com/solutions/cf-809e,我懒得打了QAQ。最后推出:ans=∑T=1n∑d|Tdμ(Td)ϕ(d)∑d|ai∑d|ajϕ(ai)ϕ(aj)dis(i,j)ans=∑T=1n...原创 2018-03-07 21:11:35 · 619 阅读 · 0 评论 -
BZOJ3572:[Hnoi2014]世界树 (虚树+树形DP+倍增)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3572题目分析:最近跟着tututu入坑虚树,就做了这道题。虚树教程:https://www.cnblogs.com/zzqsblog/p/5560645.html虚树大概的思想就是:如果每次询问给出一个点集,在原先的树上跑一遍求答案代价太大,我们可以尝试着构造一个棵小一点...原创 2018-03-01 14:32:27 · 420 阅读 · 0 评论 -
BZOJ2286:[Sdoi2011]消耗战 (虚树+树形DP+倍增)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2286题目分析:把虚树建出来,虚树上边的权值=对应链上的最小值。然后如果某个点是关键点,就一定要割掉其父边;否则可以选择割父边,也可以选择让其儿子自行处理。时间复杂度O((n+∑k)log(n))O((n+∑k)log(n))O((n+\sum{k})\log(n))。我发现...原创 2018-03-01 20:37:08 · 381 阅读 · 0 评论