【ZJOI2016】大♂森林】的更多相关文章

题目描述 小Y家里有一个大森林,里面有n棵树,编号从1到n.一开始这些树都只是树苗,只有一个节点,标号为1.这些树都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力. 小Y掌握了一种魔法,能让第l棵树到第r棵树的生长节点长出一个子节点.同时她还能修改第l棵树到第r棵树的生长节点.她告诉了你她使用魔法的记录,你能不能管理她家的森林,并且回答她的询问呢? 题解 这题太神了,废了我一下午. 看到区间操作,就可以想到差分或者扫描线,我们会发现这题基本没有好的方法去执行批量操作,所以我们…
Description: 小Y家里有一个大森林,里面有n棵树,编号从1到n 0 l r 表示将第 l 棵树到第 r 棵树的生长节点下面长出一个子节点,子节点的标号为上一个 0 号操作叶子标号加 1(例如,第一个 0 号操作产生的子节点标号为 2), l 到 r 之间的树长出的节点标号都相同.保证 1<=l<=r<=n . 1 l r x 表示将第 l 棵树到第 r 棵树的生长节点改到标号为 x 的节点.对于 i (l<=i<=r)这棵树,如果标号 x的点不在其中,那么这个操作…
Description 小Y家里有一个大森林,里面有n棵树,编号从1到n.一开始这些树都只是树苗,只有一个节点,标号为1.这些树都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力.小Y掌握了一种魔法,能让第l棵树到第r棵树的生长节点长出一个子节点.同时她还能修改第l棵树到第r棵树的生长节点.她告诉了你她使用魔法的记录,你能不能管理她家的森林,并且回答她的询问呢? Input 第一行包含 2 个正整数 n,m,共有 n 棵树和 m 个操作.接下来 m 行,每行包含若干非负整数表示…
http://www.lydsy.com/JudgeOnline/problem.php?id=4573 https://www.luogu.org/problemnew/show/P3348#sub http://uoj.ac/problem/195 https://loj.ac/problem/2092 小Y家里有一个大森林,里面有n棵树,编号从1到n.一开始这些树都只是树苗,只有一个节点,标号为1.这些树都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力. 小Y掌握了一种…
Description 小Y家里有一个大森林,里面有n棵树,编号从1到n.一开始这些树都只是树苗,只有一个节点,标号为1.这些树 都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力.小Y掌握了一种魔法,能让第l棵树 到第r棵树的生长节点长出一个子节点.同时她还能修改第l棵树到第r棵树的生长节点.她告诉了你她使用魔法的 记录,你能不能管理她家的森林,并且回答她的询问呢? Solution 有点神仙,看了题解的做法 首先显然要离线,否则空间都是错的,这样维护一棵树就好了 然后发现都…
\(\color{#0066ff}{ 题目描述 }\) 小Y家里有一个大森林,里面有n棵树,编号从1到n.一开始这些树都只是树苗,只有一个节点,标号为1.这些树都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力. 小Y掌握了一种魔法,能让第l棵树到第r棵树的生长节点长出一个子节点.同时她还能修改第l棵树到第r棵树的生长节点.她告诉了你她使用魔法的记录,你能不能管理她家的森林,并且回答她的询问呢? \(\color{#0066ff}{输入格式}\) 第一行包含 2 个正整数 n,…
题目链接 题目描述 小Y家里有一个大森林,里面有n棵树,编号从1到n.一开始这些树都只是树苗,只有一个节点,标号为1.这些树都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力. 小Y掌握了一种魔法,能让第l棵树到第r棵树的生长节点长出一个子节点.同时她还能修改第l棵树到第r棵树的生长节点.她告诉了你她使用魔法的记录,你能不能管理她家的森林,并且回答她的询问呢? Sol 一脸毒瘤. 区间 \(link\) 一个叶子 , 显然不能模拟吧... 这种复杂的题显然都是只寻求我们需要知道…
传送门 刷了那么久水题之后终于有一题可以来写写博客了. 但是这题太神仙了我还没完全弄懂-- upd:写完博客之后似乎懂了. 思路 首先很容易想到\(O(n^2\log n)\)乘上\(O(\frac{n}{\log n})\)的巨大常数的暴力做法(雾 然后可以发现这题支持把询问抽离出来最后做,那么我们可以先只关注修改操作. 可以发现一个点在\([l,r]\)的树上连上去和在所有树上都连上去其实没有太大区别,只是修改生长节点时要判一下是否存在,其他时候其实可以每一棵树上都连一个,因为不存在的点并不…
扫描线,从左到右依次处理每棵树. 用set按时间顺序维护影响了这棵树的所有操作,那么一个点的父亲就是它前面第一个操作1. 用Splay维护树的括号序列,那么两点间的距离就是括号数量减去匹配的括号个数. 添加或删除操作0就是单点换父亲,添加或删除操作1就是区间换父亲.可以通过添加虚点来实现区间换父亲操作. 时间复杂度$O(m\log m)$. #include<cstdio> #include<algorithm> #include<set> using namespac…
题链: https://www.luogu.org/problemnew/show/P3348 题解: LCT,神题 首先有这么一个结论: 每次的1操作(改变生长点操作),一定只会会对连续的一段区间产生影响. (即不存在对两段不相连的区间都进行了该操作的情况,令这种情况为[2]) 简单来说就是因为该操作需要对应的那些树存在那个节点. 如果发生了情况[2],即表明区间[l1,r1],[l2,r2]有节点x,且[l1+1,r2-1]无节点x,且r2-1>=l1+1 但是我们的生长操作0操作每次进行的…