随笔分类 -  算法设计

算法设计相关
摘要:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)。这里先解释什么是条件概率: 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为:。 贝叶斯定理之所以有用,是因为我们在生活中经常遇到这种情况:我们可以很容 阅读全文
posted @ 2017-06-04 20:55 陈泽泽 阅读(4105) 评论(0) 推荐(0) 编辑
摘要:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该类输入实例分为这个类。 KNN是通过测量不同特征值之间的距离进行分类。它的的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属 阅读全文
posted @ 2017-06-04 15:14 陈泽泽 阅读(628) 评论(0) 推荐(0) 编辑
摘要:1. LDA是什么 线性判别式分析(Linear Discriminant Analysis),简称为LDA。也称为Fisher线性判别(Fisher Linear Discriminant,FLD),是模式识别的经典算法,在1996年由Belhumeur引入模式识别和人工智能领域。 基本思想是将高 阅读全文
posted @ 2017-06-04 09:12 陈泽泽 阅读(700) 评论(0) 推荐(0) 编辑
摘要:K-Means算法是一种cluster analysis的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。 问题 K-Means算法主要解决的问题如下图所示。我们可以看到,在图的左边有一些点,我们用肉眼可以看出来有四个点群,但是我们怎么通过计算机程序找出这几个点群来呢?于 阅读全文
posted @ 2017-06-02 19:13 陈泽泽 阅读(330) 评论(0) 推荐(0) 编辑
摘要:开放定址法:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。沿此序列逐个单元地查找,直到找到给定的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。查找时探查到开放的 地址则表明表中无待查的关键字, 阅读全文
posted @ 2017-03-10 15:43 陈泽泽 阅读(7480) 评论(0) 推荐(0) 编辑
摘要:线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,因此有时需要离散化让空间压缩。 #include<algorithm> # 阅读全文
posted @ 2017-01-05 20:48 陈泽泽 阅读(1183) 评论(0) 推荐(0) 编辑
摘要:对N个可以放棋子的点(X1,Y1),(x2,Y2)......(Xn,Yn);我们把它竖着排看看~(当然X1可以对多个点~) X1 Y1 X2 Y2 X3 Y3 ..... Xn Yn 可以发现:可以根据X坐标与Y坐标把这些点转换为二分图! 首先:只有左边的点与右边的点有关系 其次:符合二分图的最大 阅读全文
posted @ 2016-12-23 09:17 陈泽泽 阅读(236) 评论(0) 推荐(0) 编辑
摘要:二分图方法: 阅读全文
posted @ 2016-12-22 23:46 陈泽泽 阅读(131) 评论(0) 推荐(0) 编辑
摘要:匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是二部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。 http://blog.csdn.net/pi9nc/article/detail 阅读全文
posted @ 2016-12-22 21:51 陈泽泽 阅读(311) 评论(0) 推荐(0) 编辑
摘要:最小路径覆盖 最小路径覆盖(path covering):是“路径” 覆盖“点”,即用尽量少的不相交简单路径覆盖有向无环图G的所有顶点,即每个顶点严格属于一条路径,路径的长度可能为0(单个点)。 最小路径覆盖数=G的点数-最小路径覆盖中的边数。应该使得最小路径覆盖中的边数尽量多,但是又不能让两条边在 阅读全文
posted @ 2016-12-22 16:58 陈泽泽 阅读(266) 评论(0) 推荐(0) 编辑
摘要:康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。 用康托展开将排列对应为整数 即这个排列在所有排列中的字典序 举个例子来说明一下: 例如,有一个数组 s = ["A" 阅读全文
posted @ 2016-12-21 23:31 陈泽泽 阅读(367) 评论(0) 推荐(0) 编辑
摘要:★问题描述小 G 参加了一场游戏,游戏中有 20001 个格子(编号为 0~20000),小 G 初始时在编号为 0 的格子上。小 G 可以按照以下规则在格子上移动。1、 开始时,小 G 从编号为 0 的格子上移动到编号为 d 的格子上2、 用 L 来表示上一次移动的距离,假设上一次移动中小 G 从 阅读全文
posted @ 2016-12-11 15:22 陈泽泽 阅读(199) 评论(0) 推荐(0) 编辑
摘要:问题描述小 G 最近开始对地理感兴趣,小 G 找来了伯兰的地图,并用网格将其划分。被划分后的地图是一个 n*m 的矩形。每一个单元格的大小是 1*1 的,每一格代表着水或者陆地。地图外则代表着海洋。湖泊是相邻的所有代表水的格子组成的不与海洋相邻的最大区域。地图上有着超过 k 的湖泊,小 G 想将其中 阅读全文
posted @ 2016-12-11 13:18 陈泽泽 阅读(597) 评论(0) 推荐(0) 编辑
摘要:问题描述 如果可以给定一个整数序列,可以把它分割为若干个等差数列。比如给定一个序列(8,6,4,2,1,4,7,10,2)可以被分割为( 8,6,4, 2)、( 1,4,7)和( 2)三个等差数列。不幸的是有些整数序列中包含缺失值,用-1 代替,缺失值的可以取大于0 的任意整数值。这种情况下随着缺失 阅读全文
posted @ 2016-11-26 15:20 陈泽泽 阅读(1255) 评论(2) 推荐(1) 编辑
摘要:给一棵节点带权的树,找到一个有k个节点的子树,求这个子树的最大权值。 dp[u][k]表示以u为根的子树中包含u结点的大小为k的子树的最大权和 然后对u的每个子节点做分组背包,因为对于u的每个儿子,可以选择分配 1,2,3...k-1个节点给它 状态转移方程: 当节点大小为K时,可以由根节点为u,子 阅读全文
posted @ 2016-10-30 12:53 陈泽泽 阅读(220) 评论(0) 推荐(0) 编辑
摘要:1)区间完全覆盖问题 问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖 样例: 区间长度8,可选的覆盖线段[2,6],[1,4],[3,6],[3,7],[6,8],[2,4],[3,5] 解题过程: 1将每一个区间按照左端 阅读全文
posted @ 2014-03-27 23:25 陈泽泽 阅读(341) 评论(0) 推荐(0) 编辑