摘要: LCT 昨天调试一天没出来,今天推倒重写还是gg了,内心崩溃照着源代码抄,结果发现自己把原树fa和splay的fa一起维护,各种re。。。 其实我们手玩一下,发现其实树的形态变化很小,那么就可以用lct维护了,查询就是相当于查询点到root的点权和,点权为1 删除什么的手画一下就行了 然后我们要用一 阅读全文
posted @ 2017-08-17 14:25 19992147 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 树的直径 我先开始以为是个图,想想并不知道什么求图的直径的方法,结果是棵树 那么直觉告诉我们是在直径上面,实际上就是直径+min(i->u,i->v),扫一遍就行了 #include<bits/stdc++.h> using namespace std; const int N = 200010; 阅读全文
posted @ 2017-08-17 10:11 19992147 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 单调栈 其实是单调栈的变种 维护up,left,right,表示一个点能向左向右向上最大扩展距离,ans就是最大的left*rigth*up up[i][j]=Map[i-1][j]==1?1:Map[i-1][j]+1 left和right 用单调栈求,每次碰见障碍就把栈中元素弹出,栈中元素左端点 阅读全文
posted @ 2017-08-17 08:49 19992147 阅读(212) 评论(0) 推荐(0) 编辑