摘要: ###最小点覆盖 在二分图中,找出一个最小的点集,使之覆盖所有的边,这个问题被称为二分图的最小点覆盖。 ####König定理: 二分图最小点覆盖包含的点数等于这个二分图的最大匹配数。 **证明:** 1.求出二分图的最大匹配,定义:匹配边为包含在最大匹配里的边,匹配点为与匹配边相连的点。 2.从二 阅读全文
posted @ 2020-04-17 13:40 Mcggvc 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 链接: [6803 导弹防御塔](http://noi-test.zzstep.com/contest/0x60%E3%80%8C%E5%9B%BE%E8%AE%BA%E3%80%8D%E4%BE%8B%E9%A2%98/6803%20%E5%AF%BC%E5%BC%B9%E9%98%B2%E5%B 阅读全文
posted @ 2020-04-03 16:51 Mcggvc 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 众所周知,线段树空间复杂度为O(N * 4),当 N 足够大时,容易爆掉。 动态开点,即字面意义,不必把整棵树的结构全部构建出来,只在最初建立一个结点表示整段区间,递归需要访问子树时再建立这个子树的结点。不再用完全二叉树编号两倍的规则。 动态开点线段树的优点:1.可以合并两个维护相同值域的线段树。2 阅读全文
posted @ 2020-03-26 00:49 Mcggvc 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 扫描线一般运用在图形上面,它和它的字面意思十分相似,就是一条线在整个图上扫来扫去,它一般被用来解决图形面积,周长等问题。 OI Wiki 扫描线求面积并 P5490 【模板】扫描线 如图,假设三个矩形,求其并集的面积。考虑将每个矩形处理成两条平行于 y 轴的线段,左边的线段标记为 +1 ,右边的线段 阅读全文
posted @ 2020-03-22 00:45 Mcggvc 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 链接 "CF896D Nephren Runs a Cinema" 大爱奈芙莲。。。。 个人感觉这题和 "P3266 [JLOI2015]骗我呢" 有点像。 首先可以考虑dp,$f[i][j]$为排到第 i 个人,当前剩余 j 张50元钱的方案数,转移方程显然,超时也显然。 受P3266的启发,考虑 阅读全文
posted @ 2020-03-12 00:00 Mcggvc 阅读(154) 评论(0) 推荐(0) 编辑
摘要: ###CDQ分治是一种离线分治算法,它基于时间顺序对操作序列进行分治。 看这样一个问题: 在一个三维坐标系中,有若干个点,每个点都有对应的坐标 $(X_i , Y_i , Z_i)$ ,我们要对于每个点求所有满足 $X_j <=X_i, Y_j <= Y_i , Z_j <= Z_i$ 的 j 的数 阅读全文
posted @ 2020-02-22 01:05 Mcggvc 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 点分治常用于静态树上的路经统计问题,我们可以很自然的设计出这样一种分治算法: 1.找出根结点Root; 2.计算以Root为根的树的答案; 3.删除结点Root,分治解决Root的每个子树; 但这样并不是最优,当树退化成链时,递归层数就会退化为O(N), 整个程序时间复杂度也会退化成O(N ^ 2) 阅读全文
posted @ 2020-02-13 19:08 Mcggvc 阅读(127) 评论(0) 推荐(0) 编辑
摘要: $Treap = Tree + Heap$ 树堆(Treap),在数据结构中也称Treap,是指有一个随机附加域满足堆的性质的二叉搜索树,其结构相当于以随机数据插入的二叉搜索树。其基本操作的期望时间复杂度为O(logn)。相对于其他的平衡二叉搜索树,Treap的特点是实现简单,且能基本实现随机平衡的 阅读全文
posted @ 2020-02-08 02:08 Mcggvc 阅读(253) 评论(0) 推荐(0) 编辑