![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
倍增
FuTaimeng
好像有人说我冰雪聪明~~~
展开
-
BZOJ4569: [Scoi2016]萌萌哒
BZOJ4569: [Scoi2016]萌萌哒并查集·倍增题解:并查集中点id[i][j]id[i][j]表示从i开始2j2^j长度的这一块区间。 合并的时候区间拆成不超过log个2的整数次幂长度的区间,把他们对应的点合并。 最后自顶向下合并,即如果id[i][j]]id[i][j]]和id[a][b]id[a][b]在一个并查集里,则合并id[i][j−1]、id[a][b−1]id[i][j原创 2017-08-24 16:06:52 · 198 阅读 · 0 评论 -
BZOJ4568: [Scoi2016]幸运数字
BZOJ4568: [Scoi2016]幸运数字线性基·倍增·LCA题解:抑或和最大的问题显然要用到线性基。本题就直接倍增维护线性基,合并出答案即可。线性基的合并就是一个插入到另一个中。有一点小细节就是lb[i][j]lb[i][j]中维护的是从i到i的2j2^j级祖先的线性基,左开右闭,也就是不包括i本身的。因此查lca(a,b)lca(a,b)的时候先把a和b的插入进去。Code:#includ原创 2017-08-24 15:19:26 · 230 阅读 · 0 评论