自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (5)
  • 收藏
  • 关注

原创 AC自动机原理说明

1. AC自动机的功能:用于多模匹配,所谓多模匹配,就是给定一个带匹配的字符串string,给定一个字典dictionary,dictionary中有多个字符串{ str1,str2, str3 … } 多模匹配就是要得到string字符串中出现了dictionary的哪些字符,且这些字符出现在了string中的哪个位置。 2. AC自动机的原理:AC自动机的难点在于构建一个DFA

2016-03-12 22:46:32 4224

原创 poj-3253哈夫曼树

题目的意思是。要把一块木板切成所需要的n块,但是每切一刀需要收费。收费的方法是(网上有一些人理解有误):每当在一块木板上动刀子,这块木板的原有长度代表了这刀的费用。思路:切割的过程可以用一棵二叉树表示,每个节点有两个或者没有子节点,节点存储切割过程中每块木板的长度。父节点的值=两个子节点相加 根节点是原始木板长度。每块所需要的木板都是叶子节点。非叶子节点的值之和

2015-06-15 19:57:50 1417

原创 poj-2186 受欢迎的奶牛(tarjan算法应用)

题意:有n只奶牛,奶牛之间有倾慕的关系,并且倾慕关系是可以传递的。要求找出某几个奶牛,这几个奶牛被所有的奶牛喜欢。奶牛的关系抽象成为有向图,a喜欢b表示为a点到b点有一条有向边。思路:1 通过tarjan算法,求出强连通分量,并且把这些强连通分量缩成缩点。通过这种方法把图转化为有向无环图。2 在这个有向无环图中,如果存在唯一一个点A,这个点的出度为0,有向无环图中所

2015-06-13 17:25:14 3697

原创 从0开始用javascript和HTML5的canvas编写光线追踪渲染器<二>

局部光照模型简介:在上一节,介绍了光线追踪算法的基本框架,里面提到了两个新的概念,其中一个是局部光照模型(phong模型),另一个是光线投射算法。光线投射算法我会在下一节介绍,本节主要介绍什么是phong局部光照模型。局部光照模型,顾名思义就是只考虑光线在该物体上的作用,而不用考虑物体之间光能的传递。phong模型分为三大部分,漫反射分量diffuse, 镜面反射分量refle

2015-06-09 14:53:37 1699

原创 tarjan算法原理介绍

证明比较繁琐,仔细检查了应该没有大错,记录一下证明过程。强连通分量定义:在有向图中,强连通分量的定义是:有向图的某个子图,其中任意两个点之间可以互达。强连通分量的定理:定理1:一个完整的强连通分量一定包含在一棵深度优先搜索树中。定理2:子图是强连通分量子图中的每一条路径都归属于一个环状(除非只有一个点)。证明:根据强连通分量的定义,任意两个点之间可以互达,所以等价于

2015-06-09 11:22:25 5405 3

原创 从0开始用javascript和HTML5的canvas编写光线追踪渲染器<一>

序题目写的比较吸引眼球,实际上这个光线追踪渲染器十分简陋,只能渲染最简单的几何体----球体,效果也很简陋。但是十分简单,核心代码只有200-300行。很适合初学者学习计算机图形学的一些基本概念。  以下我会通过介绍一些基本算法,逐步构建这个“光线追踪渲染器”。

2015-04-27 21:31:04 3106

原创 搜索算法总结

搜索算法广泛应用于人工智能领域,但是由于时间复杂度是指数级别,计算机科学家在朴素的搜索算法(广度优先,深度优先搜索)上优化得到了一系列搜索算法 本文介绍的搜索算法主要指:广度优先搜索,深度优先搜索,以及在此基础上优化得来的A*算法,分支限界算法(待续)。如有错误欢迎指正。 为了便于描述,搜索算法适用解决在一张有权无向图中,找到从原点到终点的最短路径。基础搜索算法的通式是这样

2015-04-23 13:17:47 7245

原创 poj_1020 anniversary cake

求给定的n(1思路和方法:这道题不可以用贪心算法,有特殊的情况会覆盖不到。思路:类似于欧罗斯方块,每次选一个方块放到最低点。数据结构解释:struct piece{    int size;//边长    int num;//数量    int remine;//剩余 } //存储每个蛋糕碎片的信息struct piece pieces[];//蛋糕碎片的数组

2015-04-21 12:53:44 425

原创 poj_1088 滑雪 动态规划(盖浇饭算法)

题目:Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子

2015-04-15 20:15:24 627

原创 分布式算法 3 最大独立集

独立集就是指:图G=(V,E)中,I是G中的一个子集,如果I中任意两个点之间不存在e属于E,则I就是独立集。如果无法加入G中的任意一个点使得I依然保持独立集,那么I就是最大独立集。(最大独立集并不要求其中包含的点要最多,也就是说一个图G可以有多个最大独立集,例子:下图,白色和黑色都是最大独立集)         计算最大独立集的算法lubyMIS算法:(一种随机化算法,有一定的

2015-04-07 20:13:58 2946

原创 分布式算法 2 领导者选择算法

算法产生于局部令牌环网:当令牌在环网中丢失,需要重新产生一个令牌,这就相当于产生一个领导者。这个领导者要求唯一。定理:如果每一个进程都相同,则无法选举出唯一领导者。(如果每个进程都相同,则在同步系统运行中,每个进程发出的消息,接收的消息,状态的变化都相同,会同时进入领导者状态)基本算法 LCR算法:每个进程都沿环网发送自己的标示符uid(各不相同),并且

2015-04-07 14:57:22 2726 2

原创 分布式算法 1 同步网络的形式化描述

同步的含义:在分布式系统中,同步指的就是每个进程都有一个统一的时钟,在每次时钟周期中,所有的进程一起同时做动作。进程形式化描述:同步网络用有向图G = (V,E)表示。每个V代表进程的集合。V中的每个进程 i 由以下几个部分组成:states:进程所处状态集合。start:进程的开始状态集合。msg(states,out-nbrs):消息生成函数,输入参数是出向邻接进程

2015-04-07 11:26:11 898

原创 poj_1062

题干:年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:"嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。"探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换,或者替他弄来其

2015-04-07 11:19:27 597

原创 RandomAttack algorithm

有通信链路故障的同步完全图网络下,进程一致性算法问题形式化描述:有n个进程,每个进程可以选择(0,1)中的某个值,要求这些进程做决定前满足        1. 一致性(每个进程的最终结果要相同)    2. 有效性:如果所有进程都从0开始,那么0就是唯一可能的决定值; 如果进程都以1作为初值并且所有消息都被传递,则1是唯一的决定值。    3. 终止性:所有进程最后都会

2015-04-06 12:19:24 1199

原创 poj_1014

糖果分配问题

2015-04-05 19:56:38 293

原创 背包问题总结

背包问题的总结,包含01背包,完全背包,背包,背包变种

2015-04-05 19:36:18 937

函数图象绘制

可以绘制任意函数图象的程序,用vc导入egg库写的

2014-09-02

中文最大概率分词器

中文最大概率分词器,北邮自然语言处理期末考试,包含相关文档,ppt

2014-09-02

完全背包问题

完全背包问题的求解,适合于学习算法的同学参考

2014-09-02

01背包问题

01背包问题求解,一个经典的动态规划法的小程序。

2014-09-02

欧拉回路计算

计算欧拉回路的c语言程序,适合于学习数据结构的同学参考

2014-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除