
知识点
文章平均质量分 66
commonc
这个作者很懒,什么都没留下…
展开
-
混合图的欧拉回路
前言:前几天做了一道混合图欧拉回路的题,感觉这个算法比较厉害,学完之后写在这里怕以后忘了 算法目的:求混合图(有的边是单向,有的边是双向)的欧拉回路 预备知识:1.无向图欧拉回路求法 2.有向图欧拉回路求法 3.网络流算法 (其实有向图的欧拉回路相对于无向图来说就相当于再限制一下每个点出度=入度即可,第一个和第三个不会就自己去学吧) 大概思路:先原创 2016-09-05 19:24:35 · 3014 阅读 · 0 评论 -
最小圆覆盖算法
算法目的:最小圆覆盖算法可以在线性时间复杂度内求出覆盖n个点的最小圆算法步骤: ①首先现将所有点随机排列 ②按顺序把点一个一个的加入(一步一步的求前i个点的最小覆盖圆),每加入一个点就进入③ ③如果发现当前i号点在当前的最小圆的外面,那么说明点i一定在前i个点的最小覆盖圆边界上,我们转到④来进一步确定这个圆,否则前i个点的最小覆盖圆与前i-1个点的最小覆盖圆是一样的,则不原创 2016-08-23 16:05:39 · 18073 阅读 · 6 评论 -
最小K度限制生成树
算法目的:给出V0,KV_{0},K和一个带边权的无向图,求出在V0V_{0}的度数最多为KK的限制下的最小生成树预备知识:最小生成树、动态规划定义:强制K度最小生成树为所有生成树中V0V_{0}的度数为KK的权值最小的生成树大概思路:先把V0V_{0}和V0V_{0}有关的边都删除,假设现在的图分成了MM个联通块,则我们可以得知对于任何生成树V0V_{0}的度数至少为MM。那么我们依次求出强制M度原创 2017-01-16 16:55:29 · 2127 阅读 · 0 评论 -
半平面交
算法目的:求NN个半平面的交定义:一个半平面指的是由满足ax+by+c>0ax+by+c>0或ax+by+c>=0ax+by+c>=0的点集组成的二维区域。一般来说在写代码的时候,我们可以把一个半平面想象成一个向量所在的直线右面的一片区域 半平面的交可能是一个封闭图形也可能是没有边界的区域或者为空大概思路:先将所有的向量按照与x轴的夹角排序(此处的夹角在[−π,π][-π,π]这个区间内),然后按原创 2017-02-17 09:34:36 · 3153 阅读 · 0 评论 -
关于置换的一系列学习文章
高一的时候自己捧着白书学习了Burnside引理以及polya定理,知道了式子,从此机房里的置换相关就一直由我瞎bb来讲这几天考了一道毕姥爷出的置换相关的题,然后...不会做看着比老叶的课件突然开始怀疑人生,我究竟会不会Burnside引理?于是开始学习如何证明....现在终于会证了...如果我以后有时间就写个文字解析,先把学习过程放上来...Burnside引理以转载 2017-03-24 15:21:57 · 1032 阅读 · 0 评论 -
朱刘算法
算法目的:求最小树形图(可以理解为有向图的最小有根生成树) 大概思路:用类似贪心的思想,不断缩点来求出答案。下面的算法可以求出当根确定的时候的最小树形图。如果是不定根的情况我们可以虚拟一个根,让虚拟根到每个节点的距离为图上所有边的权值之和加一。这样找到最小树形图一定包含且只包含一条新边,减掉这条边的权值就可以了。 算法步骤:1.求出所有点的最小入边 2.若此时这些边没有形成环原创 2016-10-31 20:00:30 · 2276 阅读 · 0 评论