- 博客(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版本)
2010-01-09
支持并发的多人聊天程序
2009-11-14
基于socket的proxy
2009-10-25
JBoss下部署EJB3.0
2008-11-18
java web service 入门
2008-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人