2016-05-30 11:51:59 用一个next数组,记录点x的下一个点是哪个 查询时,moveroot(n+1),access(x),splay(x) ,输出size[ch[x][0]]即为答案 更改时,cut(x,next[x]) link(x,min(x+k,n+1)) 记得splay旋 ...
分类:
其他好文 时间:
2016-05-30 12:35:54
阅读次数:
269
LCT=树链剖分+平衡树(多用Splay),AC之后才对这个等式深有感触……
我们定义一个操作Access(x),这个操作可以将从x到根节点路径上的所有节点放到一颗Splay里,一切操作都在这棵Splay里做。你说要维护任意两个点的路径?反正是无向树换一下根不就好了……
我们以执行Access的顺序为权值来进行树链剖分,每一条链用一颗Splay按照深度来维护,每一颗Splay与他的父亲(由于一...
分类:
其他好文 时间:
2016-05-07 09:09:51
阅读次数:
139
块状链表。维护一个点f[i]次能到达下一个块,和到哪个位置。 #include #include using namespace std; const int maxn = 400000 + 100; int k[maxn],jump[maxn],st[maxn],belong[maxn],f[ma... ...
分类:
其他好文 时间:
2016-05-01 21:56:53
阅读次数:
225
2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 6706 Solved: 3522[Submit][Status][Discuss] Description 某天,Lostmonkey发明了一种超级
分类:
其他好文 时间:
2016-03-01 18:40:21
阅读次数:
172
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2002[分析] 看完LCT的理论分析,找入门题熟悉一下代码的时候...就看了这题 思路感觉比较明确:因为跳跃就是连边的感觉,而且每个点的出度都等于1,这不就是一棵树吗(当然所有能弹飞的都连.....
分类:
其他好文 时间:
2016-01-12 21:08:16
阅读次数:
181
【bzoj2002】[Hnoi2010]Bounce 弹飞绵羊2014年7月30日8101Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力...
分类:
其他好文 时间:
2015-08-18 06:28:13
阅读次数:
164
lct入门题?只需要Link Cut,不需要换根和维护其他标记 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const int Maxn = 200010; ...
分类:
其他好文 时间:
2015-05-12 01:26:30
阅读次数:
97
题目大意及LCT版本题解:见 http://blog.csdn.net/popoqqq/article/details/38849471
今天手滑用分块又重写了一遍这道题0.0 分块就是短啊
将弹簧分为√n块
对于每个弹簧 我们记录一下从这个弹簧出发直到弹到块外为止的弹跳次数及落点
查询沿着落点弹到出去为止 修改从块开始到这个点为止修改一遍
这样修改和查询都是O(√n)的
#inclu...
分类:
其他好文 时间:
2014-10-21 19:46:30
阅读次数:
179
一眼题,LCT。然后悲剧的发现不会写,只好分块来做。令s = sqrt(n),那么先分成s块,每块s个弹簧。现在让每个点记录两个值,cnt和to,分别表示弹到这个块外面的次数和弹到了哪里。我们发现单点修改只要修改块内元素,时间复杂度是O(s)的;而单点查询要查他后面的所有块,时间复杂度也是O(s)的...
分类:
其他好文 时间:
2014-10-04 22:20:57
阅读次数:
287