摘要:
Description 一个长度为n的大数,用S1S2S3...Sn表示,其中Si表示数的第i位,S1是数的最高位,告诉你一些限制条件,每个条件表示为四个数,l1,r1,l2,r2,即两个长度相同的区间,表示子串Sl1Sl1+1Sl1+2...Sr1与Sl2Sl2+1Sl2+2...Sr2完全相同。 阅读全文
摘要:
简介 最近公共祖先 $lca(a,b)$ 指的是a到根的路径和b到n的路径的深度最大的公共点. 定理. 以 $r$ 为根的树上的路径 $(a,b) = (r,a) + (r,b) 2 (r,fa(lca))$. (树上差分) 求法 tarjan 离线算法, 总时间 $O(n+q)$. (q表示询问次 阅读全文
摘要:
简介 CDQ分治是分治的一种, 可以看做归并排序的扩展, 利用离线将一些 $O(n)$ 的暴力优化到 $O(log n)$. 它可以用来顶替一些高级(log)数据结构等. 一般地, CDQ分治分为三部分: 1. 递归左右区间 1. 统计左区间对右区间的贡献 1. 合并整个区间 或者: 1. 递归左右 阅读全文
摘要:
//to update include include include include include include include include using namespace std; define rep(i,l,r) for(register int i=(l);i=(r); i) de 阅读全文
摘要:
Description "bzoj1562 [NOI2009]变换序列" Solution 显然是个二分图最小字典序匹配. 套板子即可. "[模板] 匈牙利算法&&二分图最小字典序匹配" 另外, 题中似乎没有保证$d \le \frac n2$(否则无解), 需要特判. ~~update:实测不特判 阅读全文
摘要:
定义 二分图是图论的一种特殊模型. 若 $G=$ 是一个无向图, 如果顶点V可分割为两个不相交的子集 $(X, Y)$, 且图中的每条边 $(i, j)$均满足$i \ in X, j \in Y$, 则称图$G$为一个二分图。 二分图判定 无向图 $G=$ 为二分图的充要条件是G的所有回路的长度均 阅读全文
摘要:
匈牙利算法 简介 匈牙利算法是一种求二分图最大匹配的算法. 时间复杂度: 邻接表/前向星: $O(n m)$, 邻接矩阵: $O(n^3)$. 空间复杂度: 邻接表/前向星: $O(n + m)$, 邻接矩阵: $O(n^2)$. 它的主要思路就是对每个点寻找增广路, 尝试改变之前的选择, 判断是否 阅读全文
摘要:
Description 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1 x2|,|y1 y2|),求从1号点走到n号点的最小费用。 Input 第一行包含一个正整数n(2= d_{i,j} + d_{j,k}$. $y$ 同理. 因此, 将x轴排序, 将x坐标相邻的点相 阅读全文
摘要:
Description 众所周知,花神多年来凭借无边的神力狂虐各大 OJ、OI、CF、TC …… 当然也包括 CH 啦。 话说花神这天又来讲课了。课后照例有超级难的神题啦…… 我等蒟蒻又遭殃了。 花神的题目是这样的 设 sum(i) 表示 i 的二进制表示中 1 的个数。给出一个正整数 N ,花神要 阅读全文