摘要: 分治策略设一组数R={r1,r2,r3....rn}为要进行全排列的n个元素,Ri=R-{ri}。将集合X中元素的全排列记为perm(X)。(ri)prem(X)表示在全排列perm(X)的每一个排列前面前面加上前缀ri得到的排列R的全排列可以归纳为: 当n=1时,perm(R)=(r),其中r是集合R中唯一元素。 当n>1时,perm(R)由(r1)perm(R1),(r2)perm(R2),....,(rn)perm(Rn) 构成。由归纳可已看出本题可以用递归分治的算法将问题分成一个一个得小模块进行求解。EG: R={1,2,3,4}ps:这里圆括号里面的顺序是不能变动的。有上数据可 阅读全文
posted @ 2011-05-10 22:30 westfly 阅读(356) 评论(0) 推荐(0) 编辑
摘要: POJhttp://poj.org/problem?id=2105IP Address#include <stdio.h>int main(int argc,char *argv[]){ int n; int i; char bits[33]; int ip; scanf("%d",&n); while(n--) { scanf("%s",bits); ip = bits[0]%48; for(i = 1;i<32 ; ++i) { if(i%8 == 0){ printf("%d.",ip); ip = b 阅读全文
posted @ 2011-05-05 19:53 westfly 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 依照KMP实现的算法,附带测试用例。#include <algorithm>#include<iostream>#include<iterator>#include <string>#include <vector>#include <cassert>#include <cstring>using namespace std;/**计算next***/void kmp_next(char *pattern,int *next){ int i = 0 ; int j = next[0] = -1; while(p 阅读全文
posted @ 2011-05-04 14:13 westfly 阅读(467) 评论(0) 推荐(0) 编辑
摘要: KMP算法引用最多的是Matrix67的大作KMP算法详解 该文对KMP算法有个详细的介绍,从宏观上了解下吧。还有其提到 "由于KMP算法只预处理B串,因此这种算法很适合这样的问题:给定一个B串和一群不同的A串,问B是哪些A串的子串。"。其姊妹文章KMP算法与一个经典概率问题未看——有时间再关注将KMP作为自动机KMP算法深度解析KMP算法并非凭空而来,而是基于有线自动机的。该文的图形引用得比较多。从自动机(NFA to DFA)角度去理解KMP和Shift-And/Shift-or算法文中提到了本《Flexible Pattern Matching inStrings》的 阅读全文
posted @ 2011-05-04 14:06 westfly 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 一直使用xshell工具,但是上传和下载文件都得要借助其它工具,觉得不是很爽。于是干净利落的换SecureCRT。安装可以选择绿色版的,该软件有试用期。在使用rz和sz前要在linux下安装lrzsz,否则会出现“rz: command not found”等提示.(设置SecureCRT的颜色,点击”会话选项”–”仿真”–终端选择”linux“–并且勾选ANSI如果还不能显示vim的颜色就先exit再登陆就OK了!)下面内容转载自《用SecureCRT来上传和下载数据》使用Zmodem从客户端上传文件到linux服务器1.在用SecureCRT登陆linux终端.2.选中你要放置上传文件的路 阅读全文
posted @ 2011-05-03 17:24 westfly 阅读(1705) 评论(0) 推荐(0) 编辑
摘要: 转载自文章 http://www.cppblog.com/acronix/archive/2010/09/24/127536.aspx 阅读全文
posted @ 2011-05-01 22:03 westfly 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 由于安装的时候选的是全英文环境,所以对中文的支持有乱码,必须自己手动解决。该文章定期更新,估计我遇到关于乱码的解决都会在这里记录下来 。ps:请确定你已经安装了相关的编码环境。1.gedit乱码解决:运行gconf-editor–>app–>gedit2–>preferences–>encodingsauto_detected 应该是没有GBK,或者GB2312,添加上GBK就可以(全写上也无所谓).这样再次用gedit打开gb2312编码的文本就不会有内容乱码..2.vim乱码解决:在/etc/vim/vimrc文件中添加如下代码:let &termencod 阅读全文
posted @ 2011-05-01 20:34 westfly 阅读(1427) 评论(0) 推荐(0) 编辑
摘要: 参考http://www.cnitblog.com/schkui/archive/2007/07/02/29320.html若干经典的字符串哈希函数http://blog.csdn.net/Java2King/archive/2009/10/25/4725280.aspx某些hash函数的实现http://www.byvoid.com/blog/string-hash-compare/字符串hash效率的比较 阅读全文
posted @ 2011-05-01 19:44 westfly 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 更新debian的更新源,选择用中科大的源,对于教育网来说比较快。编辑文件sudo vim /etc/apt/sources.lst 添加源内容,把原来的注释,然后sudo apt-get updateIPv4版deb http://debian.ustc.edu.cn/debian lenny main contrib non-freedeb-src http://debian.ustc.edu.cn/debian lenny main contrib non-free deb http://debian.ustc.edu.cn/debian-security lenny/updates m 阅读全文
posted @ 2011-04-28 16:46 westfly 阅读(3115) 评论(0) 推荐(0) 编辑
摘要: 《CFileFind类学习》《CFile类学习》《CFileDialog类学习》《CStdioFile类学习》《CString类学习》《CArray类学习》 阅读全文
posted @ 2011-04-15 22:40 westfly 阅读(191) 评论(0) 推荐(0) 编辑