splay
TheWolfWhistlingSong
蜜の夜明け
展开
-
Bzoj1112:[POI2008]砖块Klo:splay
题目链接:1112:[POI2008]砖块Klo 原题目是要输出最终高度的,代码中有体现 显然一段区间都变成某个数且代价最小,那么就变成中位数 所以我们维护中位数即可,上splay 一不小心把树建反成左大右小了QAQ #include #include #include #include #define LL long long using namespace std; const in原创 2016-04-08 10:07:59 · 542 阅读 · 0 评论 -
Bzoj3196:Tyvj1730二逼平衡树:树套树,线段树套splay
题目链接:3196: Tyvj 1730 二逼平衡树 麻麻我终于会写树套树辣 这3个小时没白花QAQ #include #include #include #include using namespace std; const int maxn=1200010; const int inf=1e9-1; int tot=2,n,m,c[maxn],root[maxn]; struct seg原创 2016-05-18 11:39:29 · 817 阅读 · 0 评论 -
Bzoj3786星系探索:splay维护dfs序
题目链接:星系探索 最近越来越懒了都不想写blog了QAQ 子树修改,链查询,树结构改变,单纯的lct已经不能满足这道题了QAQ 考虑dfs序,设每个点再dfs序中的位置为st[x],ed[x],我们在st[x]的位置上赋值为x的值,在ed[x]上赋值为-x的值,这样查询链的时候不在链上的点的贡献会被抵消 修改也很简单 至于改变父节点,只要把当前子树的那一段dfs序删去并加在新父节点的后原创 2016-06-09 14:59:24 · 770 阅读 · 0 评论 -
Bzoj3545:[ONTAK2010]Peaks:Splay启发式合并
题目链接:[ONTAK2010]Peaks 离线,将边按照边权从小到大排序,询问按照x从小到大排序 对于每个询问,将边权小于他的x的边加入图中,用splay维护每个联通块的权值,查找第k大即可 加入一条边时会合并联通块,这个用Splay的启发式合并 #include #include #include #include using namespace std; const int maxn原创 2016-07-18 15:28:45 · 569 阅读 · 0 评论