自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ClearRiver 's Style

人生如河,清者自清,浊者自浊!

  • 博客(18)
  • 资源 (13)
  • 收藏
  • 关注

原创 简单的web服务器:shhttpd

 作为学习网络编程的入门复习,这两天参考了一些程序和文档,自己动手写了一个小型的http服务器,作为网络编程的练习。目前服务器只能简单的支持以下功能:支持:GET/POST方法返回普通文件处理cgi(由于cgi我不太熟,测试时只用一个shell脚本代替,忽略了cgi程序的输入)目前还不支持目录的浏览和文件下载,这是以后想要做的,感觉也不难,只是和联系网络编程关系不大,呵呵~

2009-10-30 21:20:00 567

原创 一道类型转换题(from:byr)

include  int A[]={1,2,3,4,5,6,7};  #define Length sizeof(A)/sizeof(A[0])  int main() { int d=-1; printf("%d/n",d } 为什么输出0?解释:-1左边-1为int,右边为size_t,即unsigned

2009-10-26 17:50:00 99

原创 linux网络编程入门——基于socket的proxy

学习Linux 网络编程有一段时间了,作为一个总结,写一个基于socket的proxy,算是复习前面的所学。一直以来就有一个写proxy的想法,实验室项目中我所负责的模块就是一个Http proxy,用的时开源的PAW,是用java写的,一直想用C++/C改写一个,杯具的是,我一直没有下定决心去写。其实主要还是自己技术太菜鸟了,哎……为了安慰一下自己,写一个基于socket的proxy吧,

2009-10-25 10:40:00 2932

原创 最大流入门POJ 1273 Edmonds-Karp

http://acm.pku.edu.cn/JudgeOnline/problem?id=1273自己的第一个最大流程序,作个纪念。#include #include using namespace std;const int max_size = 210;long c[max_size][max_size];//容量long flow[max_size][max_si

2009-10-24 21:57:00 83

转载 Linux中tty、pty、pts的概念区别

document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text");

2009-10-22 10:30:00 542

原创 最大连续重复子串

问题描述:寻找一个字符串中的某个子串,它是由某个字符串"连续重复构成",求出“连续重复次数最多”构成的那个sub—字符串。如果存在多个结果,求出字典排序最小的一个。比如对于字符串abababcc,“ababab”是最大连续重复子串,其中“ab”重复次数是3。再比如:bbbaaa,问题的答案是“aaa”,”a“重复3次构成。虽然"bbb"也是由"b"连续三次构成,但是字典排序"aaa" 

2009-10-18 16:49:00 1799

原创 POJ 2406 连续重复字符串(KMP)和后缀数组

问题描述:给定一个字符串L,已知这个字符串是由某个字符串S重复R次而得到的, 求R的最大值。 方法一:后缀数组。从长度为1开始枚举到长度为n,如果n%i==0,那么判断LCS (suff(i+1),suff(1))是否等于n-i。根据h可以求得LCS,其中lcs(i,j)=min{h[rank[i]+1],...,h[rank[j]]},其中假设rank[i]通过这种方法竟然超时,

2009-10-17 22:20:00 2664 3

原创 最长重复出现的可以重叠的字串(POJ 3261)

 #include #include #include #include using namespace std;const int max_value=20001;int m[max_value];int sa[max_value],lstsa[max_value];int rank[max_value],lstrank[max_value];int h[ma

2009-10-17 17:25:00 1083

原创 后缀数组+最长公共前缀(LCS)+最长重复出现的不重叠字串(POJ 1743)

这几天一直在研究后缀数组,说实在,到现在还没有完全研究透。今天终于参考各种资料和代码,仿照别人的写出了一个求后缀数组和最长公共前缀的代码,记下来主要是为了将来复习。1,有关后缀数组的理论介绍就不介绍了,可以参考罗穗骞和许智磊两位大牛的论文。2,网上实现很多,但是我没有找到注释比较详细的实现,我这里主要结合代码给出详细的注释和需要注意的细节。  下面结合POJ 1743给出代码和注释

2009-10-17 14:58:00 3445

原创 POJ 1308 并查集判定“一个图是否为树”

判定一个图是否为树:方法一:          拓扑排序:          (1)排除环的存在          (2)除了一个节点(root)其余各节点的入度为1.方法二:           并查集:            (1)保证图是联通图(非森林)             (2)保证不出现环和类似环(1->2,2->3,1->3),做法是对每个边进行合并

2009-10-13 22:08:00 1671 1

原创 POJ 2513 欧拉通路+并查集+trie树

#include #include using namespace std;const int max_size=500001;char s1[11],s2[11];int p[max_size];int r[max_size];int degree[max_size];int num=1;struct TreeNode{ int id;//the i

2009-10-13 20:20:00 1867 2

原创 并查集及其应用——kruscal法求最小生成树

并查集维基百科中是这样描述的:并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。(参考《算法导论》)并查集有以下基本操作:void make_set(int x):生成只包含x单个元素的集合int find_set(int x):查找包含元素x的集合“代表”(集合树中的根节点)void union_set(i

2009-10-13 17:38:00 1057

转载 trie树(字典树)介绍及简单实现

第一次接触trie树,翻了一些算法树竟然没有找到。于是在google上各种查找,现在对自己所了解的trie总结一下,以便将来复习,并给出简单的实现。Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Tr

2009-10-13 14:28:00 1187 1

原创 POJ 2531(随机化思想)

题目大意:给一个完全图,求最大割。据说这是一个NP难的问题,我开始想的便是DFS+回溯,果然暴力搜索超时,后来参考别人的爆搜,进行了一些优化,竟然过了。用了400MS。可能有比较好的剪枝方法,可惜我没找到。这里主要笔记一下随机化算法,毕竟以前没有见到过。爆搜代码:#include #include using namespace std;int g[22][22];in

2009-10-09 22:09:00 1318

原创 POJ 2251 (三维迷宫问题) DFS /BFS

这道题开始时用DFS做的,超时了,这也是意料之中的。后来改用BFS做AC。这道题时最基本的典型的搜索问题,通过DFS能够找到一个路径,但是不能保证是最优的,需要回溯搜索才能找到最优。通过BFS就能够找到一个最优解(如果存在),符合标准的BFS搜索。这里记录下来就为了作为搜索题的基础,以后能有所进步。#include #include #include using namespa

2009-10-09 09:52:00 2214 2

原创 POJ 1321 棋盘问题(DFS+回溯)

这道题类似于八皇后问题,比较水。这里记下来是复习一下排列组合和回溯DFS。#include #include using namespace std;char g[9][9];int s[9][2];int count;int c;int f[9];bool check(int t){ int i = 0; int x = s[t][0];

2009-10-08 17:10:00 1360

转载 POJ 2002 hash(枚举+哈希) 或者 枚举+二分

(zz)简单hash,具体做法是枚举任意两个点,因为有这由两个点所构成的边属于某个正方形那么可以计算出属于该正方形的另外两个点。如有两个点(a1,a2)和(b1,b2),那么如果点(a1+(a2-b2), a2-(a1-b1))和点(b1+(a2-b2), b2-(a1-b1))都存在则这四个点可以构成一个正方形。同时如果点(a1-(a2-b2), a2+(a1-b1))和点(b1-(a2-b2)

2009-10-06 20:33:00 1010

原创 POJ 1840 Hash 链地址避免冲突

差不多是第一次做HASH算法,今天用STL里的map和自己写的链地址避免冲突hash数组做POJ 1840,令人惊讶的是两种做法的效率竟然差了1300多MS (LT=5000MS),不知道是自己写的hash函数效率还行,还是STL太慢。下面的代码是自己写的hash函数:#include using namespace std;struct Node{ long num;

2009-10-06 16:04:00 1204 1

linux系统进程间通信——共享内存(System V版本)

之前用过Prosix版本的共享内存和信号量,一直没有实践System V版本的,主要是因为其信号量集的概念操作有些复杂,今天试着写一个SV版本的共享内存进程间通信,使用信号量同步。程序提供了几个简单的用于操作SV版本共享内存和信号量的接口,并给出了一个简单的C/S通信的测试例子。使用程序提供的接口可以简单的操作SV的信号量和共享内存,而不用担心实现细节。由于测试案例有限,希望大家多多指教!

2010-01-09

支持并发的多人聊天程序

1) 支持用户并发请求(注册,登录,聊天) 2) 当用户登录时,应该提示其所有在线好友“自己已经在线” 3) 当用户退出时,应该提示其所有在线好友“自己已经下线” 4) 用户登录时除需要返回登录成功/失败信息,还要获取当前自己所有在线好友信息(好友谁在线?) 5) 添加好友(需验证?) 6) 删除好友(目前没有做,只要添加一个函数就可以了)

2009-11-14

网络编程入门练习—小型http服务器

GET/POST方法 返回普通文件 处理cgi

2009-10-30

基于socket的proxy

个例子涉及到了基本的网络编程的知识,从连接建立到数据收发,包括简单的编程模型(fork子进程,select/pselect多路I/O复用),还有简单的信号处理,socket选项设置,感觉作为网络编程入门熟悉一下挺好的。

2009-10-25

简明Python入门

非常适合Pathon的初学者使用,很好的入门教程。

2009-06-12

Effective C++ chm格式中文版

Effective C++是很经典的书,不用多介绍。这是中文版的,翻译的很好~~~

2009-06-12

LINUX下C编程(chm格式)

这是一部介绍LINUX环境下C编程的入门书籍,但是包含内容广泛,从基本的文件管理到进程通信,线程管理……

2008-12-17

JBoss下部署EJB3.0

JBoss是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web 操作系统(operating system for web),它体现了J2EE规范中最新的技术,并且它还在the JavaWorld Editors' Choice 2002评选中获得“最佳Java应用服务器”大奖。无论是学习还是应用,JBoss为我们提供了一个非常优秀的平台。有关JBoss的详细信息请参阅其主页http://www.jboss.org。

2008-11-18

java web service 入门

这里较详细的介绍java 开发web service 的技术规范。更多的只是为了供开发人员参考,少走弯路。 web service 开发涉及的内容很多。包括:xml方面,这里有一块,wsdl,xml shceme,soap等要了解。

2008-11-18

基于java socket的KWIC系统实现

这是一个KWIC实现的简单版本,是同Client和Server通信,并用多线程实现

2008-11-08

rfc3261_sip协议中文版

sip协议中文文档,是别人翻译的,感觉挺好,就和大家分享下吧~~~

2008-11-05

空空如也

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

TA关注的人

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