- 博客(104)
- 资源 (16)
- 收藏
- 关注
原创 ubuntu 11.04 安装codeblocks 12.11
之前下载ubuntu 下的deb ,安装会出现问题,一些包的依赖关系没有得到满足,我所使用的是wxWidgets 2.8 太老了 。之前在win7 上试用了12.11 ,感觉很好,代码补全,和调试功能都有了很大的改进。首先贴一下,之前直接安装之后,codeblocks 虽然可以用,但是之后你要再安装其他软件 ,有一个和wxWidgets 相关的 报错,正在读取软件包列表...
2012-12-31 17:16:11
2225
原创 python profile 使用
profile 主要是得到每个函数的使用时间,从而为优化提供一个数据支持我的pc 环境 ubuntu 11.04 python2.7如果按照 参考2 中 直接使用报错,官方文档建议使用cProfileimport cProfilecProfile.run('foo()', 'fooprof')但是还是会报错 ,说 pstats 找不到,但是直接import ps
2012-12-31 17:15:00
4912
原创 STL 随记
今天无意翻起以前买的stl源码解析线性的结构vector 内存在一起,所以当超过容量的时候,vector会进行一次很大的调整,这个也是影响性能的原因之一,同时在前面插入元素,也是vector性能的噩梦list ,相对来理解 ,就是用 指针来管理前后元素的关系,所以在插入删除 都是o(1) 的复杂度deque ,比较有意思的是 ,用一个map 标记一些联系在一起的内存,就有很多内存块
2012-12-10 23:07:49
621
原创 3-sum
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:Elements in a triplet (a,b,c) must
2012-12-09 11:17:09
730
原创 Codeforces Round #153 (Div. 2)
有的时候总会去想如何才能用更少的时间复杂度来解决问题,但是有的时候 ACM需要快速的敲出代码,要利用暴力得到一个简洁的解决方案。A : http://codeforces.com/contest/252/problem/A暴力int data[110];int main(){ int n; cin>>n; for(int i = 1 ; i >data[i
2012-12-09 11:14:39
597
原创 任务调度和最小生成树
调度问题:问题背景:一个共享资源,多个job要访问。question:那我们应该如何排列job的顺序假定:每个job 有优先级 ,和需要使用资源的时间长度当我们排列所有job之后,每个job都会有一个开始时间和结束时间,那么如何评定一个方案是不是好方案 ,/[ c_{i} /] 指的是任务最后完成时间/[ \min \left( \sum_{i=1}^{n}c_{i
2012-12-09 11:12:03
638
原创 [usaco] Sweet Butter
下面转载自:http://wenku.baidu.com/view/cc7585630b1c59eef8c7b45c.html 简洁起见,我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重点。 我们用数组d记录每个结点的最短路径估计值,而且用邻接表来存储图G。我们采取的方法是
2012-10-26 22:11:32
876
原创 geohash 得到块的区间坐标
一个geohash的 值是对应的一个地图区域的,然后我需要的这个区域的坐标区间 ,即经纬度的最大最小值。那么在geohash 的wiki主页上找到c的实现,赞一个。在我的机器上还不能直接编译通过,做了如下改变:1 geohash.c 文件改成geohash.cpp2 去掉 stdbool.h 这是C99 的头文件,vs2005 不支持,stdbool的全文如下,实现
2012-10-16 13:17:08
2615
原创 geohash 倒腾
现在做地图匹配,大都都是对一个城市进行分区,查找道路的时候,先找到gps点是属于哪个区域,然后再进行匹配,这种方式在地图比较小的情况下使用。而最近我们做的地图分区之后,大概有1200万的区,其中70%都是没有数据,造成了空间的浪费,同时查找的效率相应也比较低。而geohash 则是用来解决这个问题的,对于给定的经纬度,可以计算出一个唯一hashkey ,并且可以通过hashkey 来得到点
2012-10-15 09:57:30
1105
原创 python 写日志
新建一个文件:myLog.py# encoding:utf-8import sysimport loggingimport time def writeLog(message): logger=logging.getLogger() filename = time.strftime('%Y-%m-%d',time.localtime(time.time()))
2012-09-17 09:24:27
4198
原创 北邮bbs爬取阶段性总结
总体来说,功能是实现了,大体python 代码400行左右,但是和一个真正的爬虫还差远,只能算是一个定制化的信息抓取的程序。而后台检索是用开源的coreseek,所以整体来说,跟我没啥关系。下面简单的阐明下流程:bbs 有很多栏目,在seed文件中手工输入要爬取栏目的rss地址;读入rss地址,分析里面的链接和内容,这里是用beatifulsoup 来做的 ,并插入数据库,当然不会爬取
2012-09-17 09:22:34
1246
原创 python apache2 Internal Server Error
今天写老是出现这个问题,我不太会弄web编程,这里只单纯记录下我的解决方案 :首先确认是不是和如下的代码一样,关键的语句都要有,如果在浏览器中还不能运行帮助那么再确认两点:#!/usr/bin/env python# -*- coding: UTF-8 -*- print "Content-Type: text/plain;charset=ut
2012-09-12 13:57:52
2592
原创 爬取北邮的讲座消息
很遗憾,之前没有坚持做下去,暑假的事情有点多和杂,开学后,准备重启这个项目,那么之前的写的东西,算是记录下自己曾经想法,很多并没有去实现,比如数据库,我现在还是使用mysql。 恩 鄙视下自己不过 ,最初的目的,已经实现,可以爬取消息。那么现在接下来一周的工作就是完善这个爬取,并可以定制化爬取bbs 的消息。开学后,北邮公告栏改版了,所以公告栏的爬取推后一周进行。---------
2012-09-11 14:44:59
1627
原创 crontab 任务没有执行的原因
今天自己测试一个crontab 任务,但是一直没有执行主要是两个问题:1.环境变量2.路径问题crontab 他并不带入系统的环境变量,所以在程序中,尽量使用绝对路径,如果你使用相对路径,那么你要保证crontab 能够顺利找到参考:1 : http://askubuntu.com/questions/23009/reasons-why-crontab-
2012-09-11 14:43:58
1115
原创 to 老白
#includeusing namespace std;int n=0;char sign[11];ifstream fin ("zerosum.in");ofstream fout ("zerosum.out");bool DFS(int level,int sum)//level表示层次,sum表示在计算level之前计算和{ if(level==1) { sum=1;
2012-09-07 09:28:48
1048
原创 [usaco]2.3 Zero Sum
1 2 3 4 5 6 7 ,在里面填 + - ,不填就数字合在一起, 比如2 3 = 23 了, 数字的顺序是一定的,那么数字之间的符号 就可以看作是不同的状态,dfs 遍历所有的情况。/*ID:fuxiang2PROG: zerosumLANG: C++*/#include #include #include #include #include #inclu
2012-08-22 10:35:08
550
原创 go 语言学习 – 包的用法
用import 引入公共包或自己定义的包 类似 c 中的include ,按照教程,写了一个判断一个数是否是偶数的包在当前目录下 mkdir even ,进入目录,vi even.go 写入如下代码package even func Even(a int ) bool { state := false if a%2 == 0 { stat
2012-08-13 11:55:47
951
原创 go语言 -并行程序 wordcount
go在设计的时候,就有针对并行的语法 —-channel 和goroutine前者 可以很方便的进行消息和数据传递,在取数据和拿数据的时候可以不用关心底层实现,用 这里必须加time.sleep 不然程序很快就结束,read 和 write 甚至都来不及运行。这里和linux 线程编程很像。现在还不知道有没有更好的方式(貌似看到有人写过 ,用某种方式通知main 结束)
2012-08-13 11:53:25
1510
原创 [usaco]2.2 Subset Sums
大概的题意是: 给定一个序列 1 。。N ,假设全集为U那么存在多少种情况 : 两个子集A B其中A∩B=∅ ,A∪B=U, A元素的和== B元素的和。开始写了个递归,枚举,提交超时:void work(int deep,int start){ if(deep >= n) return; if(ans > (sum -ans)) return ; if
2012-07-26 23:07:10
835
原创 [usaco] 2.1 Ordered Fractions
水题,枚举 ,只是我在判重的时候用 set<double> 这个在usaco 得出的结果和 本地vs 运行的结果不同。最后改用gcd 判断 分子除以分母是否可约。/*ID:fuxiang2PROG: frac1LANG: C++*/#include #include #include #include #include #include #include #
2012-07-10 15:55:30
495
原创 [usaco]1.4 Mother’s Milk
分析后 和之前的类似,每一步有六种状态转移的方式 : c->a ;c->b; a->c;b->c,a->b ;b->a那每个状态是 a,b,c 的牛奶数量,因为是是从1 -20 ,那么等于是有20^3种状态、和之前的clock 很像,标记状态hash 判重,遍历所有的情况就可以。/*ID:fuxiang2PROG: ariprogLANG: C++*/#include #i
2012-07-10 09:24:39
619
原创 [usaco]1.4 Arithmetic Progressions
暴力搜索 + 简单的剪枝/*ID:fuxiang2PROG: ariprogLANG: C++*/#include #include #include #include #include #include #include #include #define REP(i, n) for (int i=0;i<int(n);++i)#define FOR(i, a,
2012-07-10 09:23:41
638
原创 [usaco]1.5 Checker Challenge
拿到题目我的第一反应是八皇后问题,顺利的写出了递归解法,弄完这个,感觉自己写递归和回溯有了一定的进步了,至此第一章做完了,再接再厉。但是提交后,在13 这个测试样例超时,然后就在想怎么剪枝之前在判断放棋子是否冲突的时候,是在放的位置往四个方向拓展,如果没有冲突就放 。现在改进为直接判断 和之前放置的棋子是否冲突。对称剪枝,这个在百度之后才知道的 ,这个是关键,直接砍掉一般的时间
2012-07-10 09:22:33
458
原创 递归解题 回溯 -- 火车进站问题
1 回溯 ,回溯是一种算法设计的思维方式。 在我现阶段的理解 :回溯是在进行解的状态搜索中,当某一分支无解的时候,回溯到一个前一个状态搜索另外一个分支,如果第一步的所有分支都无解,那么判定为无解。否则直到找到我们所要的答案。在写递归的时候,常常遇到要回溯的情况,但是经常脑袋会卡壳, 主要是在状态回溯的时候,不知如何保存和恢复状态。 比如火车进站 序列问题:
2012-03-19 18:58:33
2281
原创 WINDLX 体系结构 汇编实现矩阵乘法
貌似是 2011年10月份写的,现在都不清楚了其中的一些细节,其实应该早点记录的。主要是 实现如下的代码; double s1 = 1.10001 ,s2 = 2.20002 ; for(int i = 0 ; i ; for(j = 0 ; j ; MA[i][j] = MB[i][j] = 1 ;下面是矩阵乘法的主循环; for(int i
2012-03-12 14:45:45
2788
1
原创 贝叶斯文本分类实验
这个其实是我数据挖掘 的大作业 :实验原理主要是利用朴素贝叶斯对文本进行分类,用TF-IDF 权重进行优化。实验流程:1 首先下载搜狗语料库采用其中的五个类别,分别是,1 – 汽车2 –财经3 — 教育 IT4 — 健康5 — 体育 。其中每个分类的训练文档为1000篇,测试文档为131篇。2中文分词利用中科院的分词软件,对所有的文档进行分词
2012-03-12 14:44:56
5531
原创 字符串的编辑距离
这个应该是可以运用在机器翻译,用户输入纠正英文字和图片来源于 : https://www.coursera.org/nlp/The minimum edit distance between two strings 动态规划的解法: 这里如果替换一个字符的消耗是2 Weighted Edit D
2012-03-12 14:43:48
548
原创 python 简单的网络爬虫 + html 正文抽取
今天将 一个bfs 的爬虫 和 抽取Html整合到一起了。现在功能还是有局限性 。 其中抽取正文,详见 http://www.fuxiang90.me/2012/02/%E6%8A%BD%E5%8F%96html-%E6%AD%A3%E6%96%87/现在只限定爬取 http 协议的网址,并只在内网测试了,因为和外网的连接不是不快。 一个全局的 url 队列 和 url set
2012-02-17 15:02:33
9196
原创 C 内联汇编
汇编 可以使得程序更高效,不过现在应该主要是和硬件有交互的时候才会用这个,那么知道基本语法应该也就可以了。__asm__ __volatile__ ( "movl %1,%%eax" //书上 没有\n\t 直接分号,编译一直有错误, "movl %2,%%ebx" "movl %%eax,%0" :"=r"(reg)
2012-02-06 11:43:55
613
原创 apriori 算法
这个算法其实没什么特别,最近一直在有这种感觉,当 入门某一门学科的时候,多多少少会接触一些算法,而 这些算法并不是很难理解,相比于之前学的算法来说,只是放到特定的学科背景下,并能解决一些问题 ,这里我只的 这们学科的入门级算法 。 在计算机科学以及数据挖掘领域中, 先验算法[1]是关联式规则中的经典算法之一。先验算法的设计目的是为了处理包含交易信息内容的数据库(例如,顾客购买的商品
2011-12-26 20:53:46
593
原创 qemu-kvm 创建ubuntu 虚拟机
qemu 和 kvm 的关系KVM 是指基于 Linux 内核的虚拟机(Kernel-based Virtual Machine)。 2006 年 10 月,由以色列的 Qumranet 组织开发的一种新的“虚拟机”实现方案。 2007 年 2 月发布的 Linux 2.6.20 内核第一次包含了 KVM 。增加 KVM 到 Linux 内核是 Linux 发展的一个重要里程碑,这也是第一
2011-11-20 09:52:32
1808
原创 vsftpd lftp
今天在linux 上建立一个虚拟机,需要主机 和 虚拟机 进行ftp 通信,以前一直以为lftp 可以配置服务器结果我错了 。 要安装 vsftpd ,lftp 只是一个登入工具,不过确实 这个登入工具很好用,主要是符合shell 命令的习惯 。//////下面转自 : http://forum.ubuntu.org.cn/viewtopic.php?t=59102首先,
2011-11-03 17:11:24
1669
原创 ubuntu QQ 替代客户端
之前用EMpathy 不能连上QQ ,所以一直改用webqq 作为解决方案,最近我的web qq 老是 出问题,所以又在寻求新的解决方案。安装这个 pidgin$ sudo apt-get install pidgin但是这个不支持QQ 2010 的协议所以下面安装 QQ 2010 的协议http://code.google.com/p/libqq-pidgin/wik
2011-11-03 17:08:54
982
翻译 IMA 的简单介绍
本文的内容来自于http://domino.research.ibm.com/comm/research_people.nsf/pages/sailer.ima.htmlwhat is ima : IMA是一个远程认证机构,它可以使远程对方相信系统正在运行程序是安全可信的。 另一种解释:IMA是一种软件体系结构,并且是Linux上的一个实现,他可以通过使用
2011-11-03 17:07:35
4593
原创 读者写者 问题C线程实现 linux平台
1、首先 读者写者的信号量实现设置三个互斥信号量:rwmutex 用于写者与其他读者/写者互斥的访问共享数据rmutex 用于读者互斥的访问读者计数器readcountwmutex 用于写者等待已进入读者退出,所有读者退出前互斥写操作var rw
2011-08-01 11:39:48
3478
原创 VMware虚拟机和主机共享文件夹
这里只介绍host是windows,ghost是linux下的设置,如果ghost是windows,请参考vmware帮助中setting up shared folders。1.安装vmtools for linux: 选择vmware workstation程序菜单中VM >
2011-07-07 18:23:23
732
原创 VM linux虚拟机 和主机进行ftp连接
主机是XP 的系统,利用 VMware 安装 linux 虚拟机 。首先是上网,在VM选取网络连接方式为NAT,然后再 网络连接-本地连接 右键属性 高级 然后再internet 连接共享中选取 VMnet1 ,然后再VMnet1设置IP 时 选择自动获取,这样linux 虚拟机
2011-07-07 18:21:43
15273
原创 离散数学 - 逻辑
1、同或 和 异或 的区别 :异或(xor)是一个数学运算符。它应用于逻辑运算。就是说两个值不相同,则异或结果为真。反之,为假。 同或是一个数学运算符。例如:真同或假的结果是假,假同或真的结果也是假,真同或真的结果是真,假同或假的结果是真。就是说两个值相同,则同或结果为真。反之,为假。——简称同真,不同假。 同或符号为⊙。 2、泥巴孩子难题 :某父亲有一个儿子A 和 女儿B ,某日
2011-06-26 11:51:00
2582
原创 第一次云体验
<br /><br />免费的云 申请www.dotcloud.com 注册申请后 ,他会发你邮箱一个验证码<br />这里是安装方法 http://docs.dotcloud.com/tutorials/firststeps/ 前提是你要安装 python 同时<br />还需要 安装 sudo apt-get install python-setuptools<br />这样 才可以使用 easy_install dotcloud 这个命令1 sudo apt-get install python
2011-05-31 17:41:00
516
原创 编程珠玑 - 第四章习题
第四章讲的是二叉搜索,然后习题中要求实现二叉搜索,并要求在一个有序的数组中,查找key,并返回第一次出现的下标。 最初的想法“先通过正常的二分查找返回一个位置pos,然后在二分查找0-pos,如果有合适的newpos继续0-newpos,不过是log2N + log2(N/2)+。。。” 优化后 1 正常的二分查找返回一个位置pos ,此时的pos 是由 left right 生成 ,转到第二步 2 继续调用 二分搜索 在 left 和 pos –1 中查找k
2011-05-29 10:54:00
780
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人