2012年7月19日

摘要: (以下内容为我个人的安装过程,大家可根据自身需要修改安装路径等内容,如有疑问欢迎交流)一、JDK安装:1、获得程序包 jdk-6u16-dlj-linux-i586.binhttp://java.sun.com/javase/downloads/index.jsp2、解压安装$./jdk-6u16-dlj-linux-i586.bin读完协议最后输入yes,程序包开始解压。3、移到目标目录$mvjdk-6u16/usr/local/src/jdk4、设置环境变量vi/etc/profile//在profile文件最后添加#setJavaenvironmentexportJAVA_HOME=/u 阅读全文
posted @ 2012-07-19 10:20 aho 阅读(346) 评论(0) 推荐(0) 编辑

2012年7月9日

摘要: 问题描述: 求解一些有位置标记的线段中最高重合度,比如input:2 -> 5, 3 -> 9, 5 -> 11, 10 -> 15 output:3算法思想描述:可以使用count变量来记录当前进入的线段数,而是用max来记录最大进入的线段数;每当进入一个线段时,count+1,此时比较max值,看是否需要修改;出线段范围时,count-1.以上面的输入为例(同一个数字重合先算进入,再算离开):运算过程如下表:countmaxinit002113225335(出)23913102311131503所以最后的结果是:3 阅读全文
posted @ 2012-07-09 16:55 aho 阅读(468) 评论(0) 推荐(0) 编辑

2012年6月18日

摘要: /** 引用自同学杜川的分享 **/详细内容可参考杜川当时的ppthttp://files.cnblogs.com/L-aho/C%E8%AF%AD%E8%A8%80%E9%82%A3%E4%BA%9B%E4%BA%8B.pdf一些关键字解析定义与声明RegisterStaticSizeofSigned/unsignedConstStructunion关键字------从定义和声明说起何为定义,何为声明?定义:编译器创建一个对象,为对象分配内存并给它去一个名字。名字和内存相绑定,内存位置也不能被改变。声明:告诉编译器名字已经匹配到一块内存上了。以后用到这个名字都是在别处已 阅读全文
posted @ 2012-06-18 13:21 aho 阅读(409) 评论(0) 推荐(0) 编辑

2012年5月15日

摘要: 问题描述: 给定一个足够大的随机选择函数rand(), 对于[0, n)范围内的数,随机选取m个(m<n),且取出的m个数有序排列(增序或减序)。问题解答:1、 一开始拿到问题的时候,我的想法就是从rand()%n中取出m个不同的数。这其中需要解决的问题一个就是如何去重,另一个是排序问题。 作者的算法参考自《The Art of Computer Programming. Volume2: Seminumerical Algorithms》,考虑方向完全不一样。 该算法依次考虑整数0,1,2……n-1,并通过一个适当的随机测试对每个整数进行选择。通过按序访问整数,可以保证输出结果的有序. 阅读全文
posted @ 2012-05-15 11:10 aho 阅读(383) 评论(0) 推荐(0) 编辑

2012年5月10日

摘要: 问题描述:问题的输入是具有n个整数的向量x,输出是输入向量的任何子向量中的最大和。例如下面的向量:31-415926-535897-93-2384那么改程序的输出就应该是59 到 97之间的总和,即187.但所有数为正数的时候,答案就是整个输入向量,可是我们必须要考虑负数的情况。问题解答:1、第一种方法式最简单的,对所有满足0 <= i <= j < n的(i,j)整数对进行迭代。找出总和最大的那个。这种方式的时间复杂度为O(n^3)。具体做法不在赘述。2、第二种方式是将时间复杂度降低到O(n^2),需要注意到x[i..j]的总和和前面已经计算出得总和x[i..j-1]有密切 阅读全文
posted @ 2012-05-10 15:19 aho 阅读(522) 评论(0) 推荐(0) 编辑

2012年5月9日

摘要: 问题描述:求一段字符串中最大的回文子串,比如字符串c1 =123456789aaabbbccccccbbbddd987654321,最大的回文子串就是bbbccccccbbb问题解答:之前使用后缀树来找过最长公共子串问题(可参考我之前的bloghttp://www.cnblogs.com/L-aho/articles/2444768.html),在这里同样可以利用上。需要做的就是再反向复制原有子串c2 =123456789dddbbbccccccbbbaaa987654321,针对这个字符串同样建立一棵后缀树。使用qsort来对两棵后缀树进行排序操作,我们就能分别得到下面的结构:1、对于两边的 阅读全文
posted @ 2012-05-09 15:57 aho 阅读(1492) 评论(1) 推荐(0) 编辑

2012年5月8日

摘要: 问题描述:12个工厂分布在一条东西向高速公路的两侧,工厂距离公路最西端的距离分别是0、4、5、10、12、18、27、30、31、38、39、47.在这12个工厂中选取3个原料供应厂,使得剩余工厂到最近的原料供应厂距离之和最短,问应该选哪三个厂?问题解答:拿到题目后本想使用动态规划来做,怎奈感觉运用不上,只好采取枚举的笨方法。若有好的方法还望指教,下面枚举的程序: #include <iostream> #include <math.h> #include <stdlib.h> using namespace std; #define N 12 #defin 阅读全文
posted @ 2012-05-08 17:32 aho 阅读(305) 评论(0) 推荐(0) 编辑

2012年5月7日

摘要: 问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求最终胜利者的编号。问题解答:我们知道第一个人(编号一定是(m-1)%n) 出列之后,剩下的n-1个人组成了一个新的约瑟夫环(以编号为k=m%n的人开始): k k+1 k+2 ... n-2, n-1, 0, 1, 2,... k-2 并且从k开始报0。 现在我们把他们的编号做一下转换: k --> 0 k+1 --> 1 k+2 --> 2 ... ... k-3 --> n-3 k-2 --> n-2 变换后就完完全全成为了(n-1)个人报数的子问题,假如我 阅读全文
posted @ 2012-05-07 16:19 aho 阅读(277) 评论(0) 推荐(0) 编辑

2012年5月3日

摘要: 问题描述:如draw something游戏中,玩家会针对给定的单词绘画;另一边的玩家则会根据给定的N个字母来猜测出字母数为M的单词。例如,给定12个字母a b b c d d g ……,让你猜测字母数为7的单词。要求:在没有其他前提的情况下,根据字典中的单词给出所有可能的单词集合。(字典的数据结构可自行定义)解答:1)拿到问题,我的第一想法就是针对字典来建立课trie tree(字典树),然后对与给定的N个单词,通过此trie tree来寻找所有可能的情况。比如上面的例子,我就需要先寻找a开头的单词,再继续寻找后面可能跟着b c d之类的单词。2)方案2,针对字典,我先将拥有相同字母的单词分 阅读全文
posted @ 2012-05-03 15:24 aho 阅读(1170) 评论(0) 推荐(0) 编辑

2012年4月27日

摘要: 1、安装python驱动pymongo$easy_install pymongo2、演示实例 #!/usr/bin/python #-*-coding:utf-8-*- import pymongo import datetime #创建连接 connection = pymongo.Connection('localhost', 27017) #切换数据库 db = connection.blog_db #文档添加 post = {"author" : "aho", "text" : "My first b 阅读全文
posted @ 2012-04-27 10:52 aho 阅读(1961) 评论(0) 推荐(0) 编辑
摘要: 在使用python链接数据库时,使用import MySQLdb, 居然提示缺少此包,下面是google后的解决方案:1、http://sourceforge.net/projects/mysql-python上下载MySQL-python安装包 解开并进入相应的目录,我们可以先阅读README文件,其中有关于安装的介绍: $ tar xfz MySQL-python-1.2.1.tar.gz $ cd MySQL-python-1.2.1 $ # edit site.cfg if necessary $ p... 阅读全文
posted @ 2012-04-27 09:03 aho 阅读(432) 评论(0) 推荐(0) 编辑

2012年4月23日

摘要: 下面链接中的ppt是我在淘宝数据平台工作时使用MySQL的心得,分享给大家http://files.cnblogs.com/L-aho/MySQL%E4%BC%98%E5%8C%96%E4%BB%8B%E7%BB%8D.pptx感谢量子统计的茂森和张洋给我的参考,其中很多内容来自两位平时的分享参考文献:《高性能MySQL》 阅读全文
posted @ 2012-04-23 15:51 aho 阅读(394) 评论(0) 推荐(0) 编辑

2012年4月21日

摘要: 问题:有12个外观一样的铁球,其中有一个铁球的重量与其他的不同,然后我们有一个天平,现在给三次使用天平的机会,求找到那个重量不同的球。(之前我有在百度空间里贴这篇文章,居然各种不让看图,好恶心,大家如果看不到图片,可以看我这边的帖子http://hi.baidu.com/huw17/item/862a66099d9cf6c074cd3ca0)答案:第一步:我们先将球分成三组(如下图):然后将A组的球和B组的球放在天平两侧,如果一样重,则代表不同重量的球在C组(只需在C组中找到这个不同重量的球即可,方法比较简单,就不再赘述);如果不一样重,我们假设A组的比B组的要重这种情况,继续到第二步来。第二 阅读全文
posted @ 2012-04-21 22:58 aho 阅读(881) 评论(0) 推荐(0) 编辑

2012年4月20日

摘要: 问题描述:给定一个文件,假设文件记录数很多,多到记录数无法一次全部load到内存中,这时候就需要外排算法来快速解决这一问题算法思想:根据有限的内存资源将大文件分为L个段,然后依次将这L个段读入内存并利用高效的内部排序算法(比如快排)对每个段进行排序,排序后的结果即为初始有序归并段直接写入外存文件。下面主要研究一下使用败者树来进行归并排序。首先介绍下什么是败者树:一下内容介绍来自http://blog.163.com/yangjun1988422@126/blog/static/474129172011711103313483/,感谢博主分享 败者树是胜者树的一种变体。在败者树中,用父结点记.. 阅读全文
posted @ 2012-04-20 16:38 aho 阅读(1475) 评论(0) 推荐(0) 编辑

2012年4月13日

摘要: 问题描述:对于一个数组A[N],要求生成一个新的数组B[N]。对数组B的要求是B[i] = A[0] * A[1]…*A[i - 1] * A[i+ 1]*…*A[N],也就是不包括A[i]的剩余元素之积。不准用除法,要求时间复杂度为O[N]。解法:直接上程序 #include <stdio.h> int main() { int a[5] = {1, 2, 3, 4, 5}; int b[5]; int a1[6], a2[6]; a1[0] = 1; a2[5] = 1; int j = 0; for (int i... 阅读全文
posted @ 2012-04-13 11:30 aho 阅读(221) 评论(0) 推荐(0) 编辑

导航