自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dzyhenry的专栏

Do one thing, do it good.

  • 博客(10)
  • 资源 (19)
  • 收藏
  • 关注

原创 编程珠玑(2)第十章学习笔记

本章,作者讨论了程序开发中空间利用的问题。在计算机诞生之初,由于存储设备的限制,计算机内存往往只有64k、128k等等,所以如何有效利用空间对于程序员是一个非常重要的问题。现今,尽管存储设备非常先进,普通个人计算机的内存往往都能达到2GB、4GB、8GB,有些超级计算机内存甚至能达到1TB,但是,随着大数据时代的来临,我们需要处理的数据也越来越庞大,计算机的空间的有效利用仍不是一个无足轻重的话题。

2013-04-30 08:29:23 1156

原创 HDOJ 1063 Exponentiation

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1063 题目大意:求R(0.0 分析题意:此题一看便知道是关于大数乘法的问题,属于比较常见的问题。我的解题思路是这样的:先将浮点数乘法转化为正整数乘法,然后再加小数点1、   将输入的R从浮点数转换成正整数,并记录下小数位数。2、   于是此题就转变为大数整数乘法,大数整数乘

2013-04-29 22:32:03 867

原创 HDOJ 1045 Fire Net

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1045题目大意:对于一个迷宫,其中’X’ 表示wall,‘.’表示空地,可以放置blockhouse,同一条直线上只能有一个blockhouse,除非有wall隔开,问在给出的图中最多能放置多少个blockhouse。 分析题意:1、  此题有两种解法。第一种:暴力解法。从左往右,从上到

2013-04-26 21:59:26 690

原创 HDOJ 1025 最长递增字串

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1025题目大意:有两行按编号升序排列的城市,相对的城市希望彼此修筑道路,且互相修路的配对是事先安排好的,要求所修的道路两两不相交,问最多能修多少条道路? 分析题意:1、显然,可以根据配对,先将一边的(poorcities)城市按从小到大的顺序排列,按次顺序,然后求另一边的城市(rich

2013-04-25 18:24:37 1027

原创 HDOJ 1044 Collecting More Jewels

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1044此题系BFS和DFS的结合使用,需要理解BFS和DFS的特点。BFS:对于解决最短或最少问题特别有效,而且寻找深度小,但缺点是内存耗费较大,需要开辟大量的数组单元来存储状态。DFS:对于解决遍历和求所有问题有效,对于问题搜索深度小的时候处理迅速,然而在深度很大的情况下效率不高。

2013-04-25 09:07:30 993

原创 HDOJ 1011 树形DP

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1011由于一开始没理解到题意,这道题纠结了很久。所以先通俗地讲讲题意吧。1、首先,此题的cavern(大山洞)实际上一棵树。树上的每个节点(room)有一定数量的bugs和brains。树上的节点是联通的,n个节点有n-1个隧道。2、作为startrooper的leader的你,将带领你的部

2013-04-23 18:01:20 1492

原创 编程珠玑(2)第九章学习笔记

引言:             有些程序员过于关注程序的效率;由于太在乎细小的“优化”,他们编写出的程序过于精妙,难以维护。而另外一些程序员很少关注程序的效率;他们编写的程序有着清晰漂亮的结构,但效率极低以至于毫无用处。优秀的程序员将程序的效率纳入整体考虑之中:效率只是软件中众多问题之一,但有时候也很重要。             本章“代码调优”,作者通过讲述Chris Van Wyk的

2013-04-15 18:07:38 873

原创 C++模板类实现“堆”的经典案例学习+(优先队列)

本文转自:《C++程序设计》   Y. Daniel  Liang著  王刚,刘晓光,刘璟 译, 机械工业出版社             简单介绍堆的概念:堆,实际上就是一颗完全二叉树,它的每个节点的值都大于等于其任何孩子节点的值。             堆是二叉树,因此可用二叉树的结构描述,但是,如果堆的大小预先可知的话,更为有效的描述方法是使用向量或数组。下面的代码使用的向量

2013-04-12 15:24:05 1111

原创 HDOJ 1023 卡特兰数

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1023参考文章:http://baike.baidu.com/view/2499752.htm?fromId=1163998                    http://hi.baidu.com/dybivzbhnucdxzr/item/d48bb01d6c3d644ce65e0607

2013-04-04 17:30:31 1399

原创 杭电ACM 1015 很笨的暴力解法

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1015#include#include#includeint comp(const void *a, const void *b){ return *(int*)b-*(int*)a;}int main(){ int n; char s1[13]; int a[

2013-04-01 21:05:09 1433 1

spidermonkey1.7.0

Spidermonkey, a JavaScript engine on Linux.After downloading, unzip it. Do as follows: wget http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz -O- | tar xvz cd js/src make -f Makefile.ref sudo mkdir -p /usr/include/smjs/ -v sudo cp *.{h,tbl} /usr/include/smjs/ -v cd Linux_All_DBG.OBJ sudo cp *.h /usr/include/smjs/ -v sudo mkdir -p /usr/local/{bin,lib}/ -v sudo cp js /usr/local/bin/ -v sudo cp libjs.so /usr/local/lib/ -v

2014-11-23

linux spidermonkey1.7.0

Spidermonkey 1.7.0 for Linux。解压后安装方法: wget http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz -O- | tar xvz cd js/src make -f Makefile.ref sudo mkdir -p /usr/include/smjs/ -v sudo cp *.{h,tbl} /usr/include/smjs/ -v cd Linux_All_DBG.OBJ sudo cp *.h /usr/include/smjs/ -v sudo mkdir -p /usr/local/{bin,lib}/ -v sudo cp js /usr/local/bin/ -v sudo cp libjs.so /usr/local/lib/ -v

2014-11-23

spidermonkey1.7.0 for linux

spidermonkey,Linux中的JavaScript运行环境。解压后安装方法: cd js/src make -f Makefile.ref sudo mkdir -p /usr/include/smjs/ -v sudo cp *.{h,tbl} /usr/include/smjs/ -v cd Linux_All_DBG.OBJ sudo cp *.h /usr/include/smjs/ -v sudo mkdir -p /usr/local/{bin,lib}/ -v sudo cp js /usr/local/bin/ -v sudo cp libjs.so /usr/local/lib/ -v

2014-11-23

基本排序算的实现

用C/C++复习一下常见的几种排序算法。是自己一行一行敲出来的代码。

2014-07-23

模式识别ISODATA算法C++实现

ISODATA算法是模式识别课程中一个比较重要的动态聚类算法。本程序模拟了其分类过程。由于程序的开发平台是Visual Studio2012 ,对比较旧的版本可能无法兼容,解决办法是:把代码复制出来自己重新建立工程实现。

2013-04-20

K-Means聚类分析算法C语言实现

模式识别课程中,动态聚类算法中比较容易的K-Means聚类分析的C语言实现。

2013-04-08

二分搜索的递归和非递归实现

二分搜索的递归和非递归实现。比较简单的实现。

2013-03-07

数组循环左移

将一个n元一维向量向左旋转(即循环移位)i个位置。例如,当n=8,且i=3时,向量abcdefgh旋转为defghabc。能否使用数十个额外字节的存储空间,在正比于n的时间内完成?

2013-03-06

编程珠玑之位图排序

输入:一个最多包含n个正整数的文件,每个数都小于n,其中n=10^7,。如果在输入文件中有任何整数重复出现就是致命错误。没有其他数据与该整数关联。 输出:按升序排列的输入整数列表。 约束:最多有(大约)1MB的内存空间可用,有充足的磁盘存储空间可用。运行时间最多几分钟,运行时间为10秒就不需要进一步优化了。

2013-03-02

分治法求逆序数

求逆序数的方法很多。最容易想到的办法是分别对序列中每一个元素求其逆序数,再求所有元素的逆序数总和,易分析得出这样的方法其时间复杂度为O(n2)。而这里采用的分治法求逆序数,其时间复杂度为O(nlogn)。

2013-02-02

图的基本操作

整理了一下图的基本算法,包括图的深度优先遍历、广度优先遍历、拓扑排序、三种单源最短路径(Bell-Ford、Dijkstra、有向无回路最短路径算法)、关键路径。

2012-12-11

八数码问题A*算法C语言实现

八数码问题,实际就是在一个3X3的九宫格内,其中一个格子为空,其余八个格子分别用1-8的数字填充,这八个数字在九宫格内所占格子的位置可以任意。我们所求就是在两种占位置的情况下,如何从其中一种情况,转移到另一种情况?当然,限制条件是:移动过程中,只能是空格周围的格子向空格移动。(有点儿类似我们小时候玩的一种移动滑块拼图的游戏。)

2012-11-22

教室课程调度问题的两种解法(区间着色问题)

问题描述:假如要用很多个教室对一组课程进行调度,每节课程都有其开始时间和结束时间,我们希望使用尽量少的时间来调度所有的课程,请给出调度算法?

2012-11-17

01背包问题

01背包问题是个老生常谈的关于动态规划的问题。 首先问题描述:给定n个物品,每个物品的重量是wi,每个物品的价值是pi,背包的最大容量是M,求如何装入这些物品才能使背包里的价值量最大?

2012-11-14

最长公共子序列(LCD)

在最长公共子序列问题中,给定了两个序列 X=<X1, X2, ..., Xm>和Y=<Y1, Y2, ..., Yn>,希望找出X和Y的最大长度公共子序列。LCS是动态规划算法中比较经典的问题。

2012-11-12

排序算法的分析

C语言实现快排、归并排序、快排改进算法的递归和非递归算法 。其实以上算法的原理都很简单。在本科阶段,我们对这几个算法的基本原理都应该十分熟悉,但对于我,真正落实到是实现这几算法,之前几乎没有试过。现在刚上研一,算法课的第一次作业中,要求我们将这几个算法实现,对这几个算法,在输入规模不同的情况下,比较其实际工作效率。

2012-11-10

查找第K个元素

已知两个等长的升序整数序列{a1, a2, ..., ak}和{b1, b2, ..., bk},求序列{ai+bj}的前k小元素,其中1≤i≤k且1≤j≤k,要求时间复杂度尽可能低。 思路:将(1,1,a1+b1)加入一个小根堆 while (堆非空且出堆的元素总数少于k个) 弹出堆顶元素(x, y, v) 将(x+1,y,a{x+1}+b{y})和(x,y+1,a{x}+b{y+1})加入堆中 (堆内元素间按v比较大小)

2012-11-10

EditDistance

编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。

2012-11-10

IP地址合法性检验

输入一个ip地址,根据其输入的格式和内容,看是否符合ipv4的地址规范,检验其合法性。

2012-11-10

空空如也

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

TA关注的人

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