
并查集
GEOTCBRL
?????
展开
-
【bzoj2733】 [HNOI2012] 永无乡
sb题 合并:并查集+线段树启发式合并,注意动态开点 查询:直接查对应线段树的K大。 时间复杂度O(qlog2n)O(q\log^2 n)#include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a,_=b;i<=_;i++) #define per(i,a,b) for(int i=a,_=b;i>=原创 2015-11-20 23:43:56 · 765 阅读 · 0 评论 -
【bzoj3123】 [Sdoi2013]森林
被教做人啦T_T 维护树上的主席树。 查询u,vu,v,那么对应的当前版本是u,vu,v,前驱版本是lca(u,v),fa[lca(u,v)]lca(u,v),fa[lca(u,v)]。 连u,vu,v,因为保证是一棵树,于是启发式暴力合并,每次重新建主席树。 时间复杂度O(Tlog2n)O(T\log^2 n)。 几个要注意的地方。 第一个读入的testcase原创 2015-11-20 23:51:32 · 826 阅读 · 0 评论 -
【 bzoj 4452 】 [cerc2015] Export Estimate - 并查集
考虑离线,将边权从大到小加边。 观察得知一个点会被删当且仅当它的度数为2。而一个度数为2的点不被删当且仅当这个点是一个环内最后的点。删的时候不会改变别的点的度数。 设当前度数为0的点有cnt0cnt_0个,度数为2的点有cnt2cnt_2个,环有cntcyclecnt_{cycle}个,显然可以得到剩余点数为n−cnt0−cnt2+cntcyclen-cnt_0-cnt_2+cnt_{c原创 2016-11-14 15:59:02 · 637 阅读 · 0 评论