自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (10)
  • 收藏
  • 关注

转载 SLAM方法汇总

SLAM概述SLAM一般处理流程包括track和map两部分。所谓的track是用来估计相机的位姿,也叫front-end。而map部分(back-end)则是深度的构建,通过前面的跟踪模块估计得到相机的位姿,采用三角法(triangulation)计算相应特征点的深度,进行当前环境map的重建,重建出的map同时为front-end提供更好的姿态估计,并可以用于例如闭环检测.

2016-11-07 18:34:56 16709 5

转载 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

本文是深入理解Java 8 Lambda系列的第一篇,主要介绍Java 8新增的语言特性(比如lambda和方法引用),语言概念(比如目标类型和变量捕获)以及设计思路。

2015-09-01 19:53:31 2193

原创 将矩阵中值为0的元素所在的行和列设置为0, in-place O(1)space O(mn) time

将矩阵中值为0的元素所在的行和列设置为0, in-place O(1)space O(mn) time使用O(m+n)space 的方案比较容易想到

2015-04-09 20:05:48 2446

原创 二叉树最近公共祖先问题(O(n) time 且只遍历一遍,O(1) Space (不考虑函数调用栈的空间))

Tarjan算法很精妙,但是使用了并查集,需要额外O(n)的存储空间。上面博客中给的第三个方法也是需要记录根到节点的路径,需要O(log n)空间,当然考虑到一般情况下我们遍历树都是递归的方式,所以本身方法调用栈就是O(log n)空间占用率。 但是这是对于平衡的二叉树而言的,在最差情况下空间占用率还是O(n)。所以,这里我给的算法不需要记录根到节点的路径,而且仅仅遍历树一遍就可以完成。

2015-04-02 11:00:37 6523

原创 对链表排序,时间开销O(nlogn), 空间开销O(1)

Sort a linked list in O(n log n) time using constant space complexity.

2014-11-26 15:19:40 3247 1

转载 C语言指针数组和数组指针

一、指针数组和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。下面到底哪个是数组指针,哪个是指针数

2014-11-18 22:02:05 639

转载 求一个树的最长路径

树的最长路径指的是树上两个节点的最大距离。

2014-10-28 21:58:00 1224

原创 poj3252-Round Number 组合数学

思路基本上就是组合计数,唯一特别需要注意的是在计算组合数的时候很容易越界,虽然上面分析了计算结果在int范围内是没有问题的,但是计算组合数中间过程还是很可能越界,所以这里要特别注意。解决方法是利用C(n,m)=C(n-1,m-1)+C(n-1,m)进行递归计算,而不是使用传统的乘法计算方式。为了更有效率一点,可以事先计算好n=1~32,m=1~32的组合数的结果然后存起来。

2014-06-28 10:56:18 1949

原创 poj3436-ACM Computer Factory

这题的关键在于建图,然后最大流算法,而建图的关键在于拆点。将每个点拆为两个点,两点之间的流为performance。和其他点相连的边容量为INF。

2014-05-22 12:40:05 1846

原创 图的匹配问题与最大流问题(六)——匈牙利算法一种简洁实现

接着这个系列,前几个又重新写匈牙利算法时,发现了一种更为简洁的实现方式,和上一篇文章相比http://blog.csdn.net/smartxxyx/article/details/9672181,这个算法更为简洁,也好理解。和维基百科上介绍的算法思路是一致的。

2014-05-05 14:21:54 3997

转载 Java 8新特性探究(三)解开lambda最强作用的神秘面纱

我们期待了很久lambda为java带来闭包的概念,但是如果我们不在集合中使用它的话,就损失了很大价值。现有接口迁移成为lambda风格的问题已经通过default methods解决了,在这篇文章将深入解析Java集合里面的批量数据操作(bulk operation),解开lambda最强作用的神秘面纱。1.关于JSR335JSR是Java Specification Req

2014-05-05 14:07:08 841

转载 Java 8新特性探究(二)深入解析默认方法

上篇讲了 lambda表达式的语法,但只是 JEP126 特性的一部分,另一部分就是默认方法(也称为虚拟扩展方法或防护方法) 什么是默认方法,为什么要有默认方法简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法。只需在方法名前面加个default关键字即可。 为什么要有这个特性?首先,之前的接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需

2014-05-05 14:05:34 795

转载 Java 8新特性探究(一)通往lambda之路_语法篇

现在开始要灌输一些概念性的东西了,这能帮助你理解lambda更加透彻一点,如果你之前听说过,也可当是温习,所谓温故而知新......      在开始之前,可以同步下载jdk 8 和  IDE,IDE根据个人习惯了,不过eclipse官方版本还没出来,所以目前看的话,netbean7.4是首选的,毕竟前段子刚刚出的正式版本,以下是他们的下载地址。jdk 8:http

2014-05-05 14:03:02 842

原创 poj-1635 Subway tree systems(判断两个有根树是否同构)-哈希法

求两个有根树是否同构,这个如果暴力法枚举的话,复杂度是O(N^2),一中经典的做法是哈希,思想就是使得不同结构的树哈希值不同,而同构的树哈希值相同。我这个也是参考别人写的,不同的是我先把01串转换为了树状结构表示,然后再递归求哈希值,这样好理解一点。

2014-04-18 09:01:21 5458

原创 编程之美热身赛——树上三角形(解决RE Runtime Error)

这个题昨天做的时候总是报RE,也就是运行时错误Runtime Error,原因是它那个测试系统不允许创建多个类,即使是内部类也不行,办法就是改写成数组形式表示。思路:1、读取数据,建立图2、广度优先遍历,找到目的点。这个过程找到的肯定是最短路,因为这是一棵树,两点之间只有一条通路(不重复的情况下)。遍历过程中保存每个点遍历的时候的父亲节点,这样就能够知道走过了哪些节点。3、遍历任意三条边的组合是否能够组成三角形。

2014-04-08 19:14:42 1442

原创 TopCoder——Lottery(买彩票问题)

简单来说,题目就是问给N个可选数字,M个空白,在有些一限制的情况下(是否允许重复,是否要求有序)共有多少种组合方式?

2014-04-04 14:19:50 1598 1

原创 TopCoder——HillHiker(爬山问题)

Problem Statement    A hiker has set out to conquer a hill. The trail guide for the hill lists information known about the hill. First, it lists how tall the hill is, and how far it is to the othe

2014-04-02 19:20:18 1163

转载 Windows API了解用户是否在使用鼠标或键盘

《编程之美》1.10的最后提到了一个问题,就是windows中什么api能了解用户是否在使用鼠标或键盘,或者发现用户在几秒之内没有鼠标、键盘的输入?网上搜索了一下资料,觉得大概有两种方法:(1)GetInputState函数原型: BOOL GetInputState(VOID);函数功能:该函数确定在当前线程的消息队列中是否有要处理的鼠标,键盘消息.注意事项:返回值指定是否发

2014-03-28 15:40:39 1603

转载 C语言位域-编程之美之中国将帅问题

这里是看到了编程之美将帅问题的最后一个解法,觉得这个虽然不如第二个解法巧妙,但是更加简洁直白,其中就是因为使用了C语言位域。所以这里我也查了相关知识,发现一篇博客对位域的介绍非常好,这里转载一下。首先说下将帅问题:这道题如果没有限制是很简单的,程序框架大致就是:遍历A的位置遍历B的位置判断A、B的位置组合是否满足要求如果满足,则输出。在文中,采用了用1~9的数字

2013-12-13 18:20:56 1069

原创 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

在论坛上看到如下解决方案,顺利解决,log一下。http://bbs.csdn.net/topics/390121452?page=1#post-394768226     #25VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可

2013-10-16 09:30:19 1033 1

原创 图的匹配问题与最大流问题(五)——计算二分图的最大匹配

介绍二分图最大匹配的解法,一是最大流算法来计算,二是匈牙利算法来计算,最后Java实现。

2013-07-31 20:38:07 19159 1

原创 图的匹配问题与最大流问题(四)——计算图的边连通度和点连通度

前三篇文章内容,(一)讲述了基础概念;(二)介绍了最大流算法的实现原理以及证明;(三)用Java语言予以了实现。这里,我们讲述如何利用最大流算法来求图的点连通度和边连通度,有图有代码,呵呵

2013-07-25 15:22:56 17701 1

原创 图的匹配问题与最大流问题(三)——最大流问题Ford-Fulkerson方法Java实现

上篇文章主要介绍了Ford-Fulkerson方法的理论基础,本篇给出一种Java的实现。改写一下,原来的太冗余了。

2013-07-10 18:52:46 10127 10

原创 图的匹配问题与最大流问题(二)——最大流问题Ford-Fulkerson方法

本篇承接上一篇文章,主要讲解最大流问题的Ford-Fulkerson解法。可是说这是一种方法,而不是算法,因为它包含具有不同运行时间的几种实现。该方法依赖于三种重要思想:残留网络,增广路径和割。本文将会详细介绍这些内容,下一篇文章我们提供一种该方法的Java实现。

2013-07-10 18:22:31 60350 2

原创 图的匹配问题与最大流问题(一)

准备写个系列,关于图的匹配,最大流,线性规划等这些图论中的重要而且有着千丝万缕连续的问题,顺便介绍求图的最大匹配问题的著名的匈牙利算法。算是对前段时间学习的一个小结吧。(对内容进行了部分修改,原来使用Word编辑的公式这里无法显示,只能截图了)

2013-07-08 21:06:16 25291

原创 计算任意一个图生成树的个数——Kirchhoff 的Matrix Tree 方法Java实现

计算任意一个图的生成树的个数,是Kirchhoff提出的理论,通常称为Matrix Tree Theorem,原理很简单:Let G be a graph with V(G)={v1,v2,...,vn},let A={aij}be the adjacentcy matrix of G,and let C={cij}be the n*n matrix, where cij=deg vi if

2013-04-19 10:07:08 4598

原创 最小生成树算法——Kruskal算法Java实现

闲来无事,写个算法,最小生成树的Kruskal算法,相对比Prim算法实现起来麻烦一点点package trees;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.PriorityQueue;import java.util.Set;/** * 最小生成树

2013-04-18 21:00:03 4824 1

原创 关于Struts和JSP乱码问题特别注意事项(易忽略)

最近完成一个项目,其中遇到了两次比较诡异的乱码问题,在这里记录一下,给自己提个醒,也为后来者提供参考。这是一个用SSH实现的项目,为了防止乱码,从数据库到页面编码,再到struts的默认编码方式全部设置为了utf-8(具体设置方式网上有很多资料啦,这里不赘述了),以为这样就能没有后患了,但事情发展没有这么顺利。1. 使用post的方式提交表单一切数据正常,使用get的方式提交表单则会有中文

2013-03-22 10:43:57 877

原创 算法之强连通分支

深度优先搜索有一种经典的应用:把一个有向图分解为各强连通分支。很多有关有向图的算法都是从这种步骤开始的。(算法导论P338,觉得简洁而精妙,分享下)STRONGLY-CONNECTED-COMPONENTS(G)1 call DFS(G) to compute finishing times f[u] for each vertex u2 compute GT      3 cal

2012-08-20 20:27:27 2923 1

转载 TinyOS-2.1.1 Installation on Ubuntu 12.04 and Hello World

转载自:http://xuepengxu.blogspot.com/2012/05/tinyos-211-installation-on-ubuntu-1204.html;主要时我也遇到了这个问题,就是编译make telosb时出现问题,现在按照这个方法可以解决,不过最后我下载的时adm64的MSP430编译器,要具体看每个的配置而定I am working on TinyOS an

2012-07-29 13:48:41 3755 12

原创 Linux学习记录之进程(二)

3 线程在Linux中的实现Linux中不区分线程和进程,线程仅仅被视为一个域其他进程共享某些资源的进程。线程的创建和普通进程的创建过程类似,只不过需要在调用clone()的时候传递一些参数来指明需要共享的资源:clone(CLONE_VM, CLONE_FS,CLONE_FILES,0)参数列表如下:内核线程内核经常需要在后天运行一些任务,这可以通过内核线程来完成。内

2012-07-17 13:25:25 1194

原创 Linux学习记录之进程(一)

进程是Unix操作系统的最重要的抽象之一,它是处于执行期的程序,但是它不仅仅包括代码,还包括相关的文件,挂起信号等资源。线程是进程活动的对象,每个线程都有一个程序计数器,进程栈和一组进程计数器。Linux中线程是进程的一种特例。进程提供两种虚拟机制,虚拟处理器和虚拟内存。Linux系统中通过fork()系统调用来产生新的进程,产生的方式是复制当期的进程来产生新进程,所以调用fork()的进

2012-07-16 19:56:00 951

原创 学习C++或其他编程软件的忠告(转帖)

学习C++或其他编程软件的忠告(转帖)  下面的是学C++时要注意的。绝对经典。!!   1.把C++当成一门新的语言学习(和C没啥关系!真的。);   2.看《Thinking In C++》,不要看《C++变成死相》;   3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难

2010-01-14 23:11:00 685

最大流算法Java实现

图的匹配问题与最大流问题(三)——最大流问题Ford-Fulkerson方法Java实现http://blog.csdn.net/smartxxyx/article/details/9293805#reply的完整代码

2013-07-24

中间件技术与原理

介绍中间件的一本很好的入门级书籍,介绍了中间件的概念,主流的中间件开发技术。

2012-08-21

数学建模学习完全教程

包括数学建模常见模型的讲解 ,MATLAB代码, lingo教程

2010-08-13

JSP信息系统开发技术教程

讲解加上实例,一本学习JSP非常好的教程

2010-08-13

实战BIOS模拟学习器

一款非常好的BIOS学习器,模拟真实的BIOS,再也不用害怕学习时搞坏电脑

2010-02-09

cuteFtp下载及上传工具

使用容易且很受欢迎的FTP软件,下载文件支持续传、可下载或上传整个目录、具有不会因闲置过久而被站台踢出站台。可以上载下载队列,上载断点续传,整个目录覆盖和删除等。

2010-02-03

空空如也

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

TA关注的人

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