- 博客(12)
- 资源 (13)
- 收藏
- 关注
原创 状态压缩DP POJ 1699解题报告
http://acm.pku.edu.cn/JudgeOnline/problem?id=1699今天在做POJ 1699时,明显感觉用DP可以解,但是始终找不到合适的状态方程和子结构。在discuss中看到有人讨论用“状态压缩dp”求解比较方便,于是花了一下午时间去查找状态dp的资料,在上一篇(zz)中看到了一篇讲解非常详细的介绍,于是就开始来分析POJ 1699。看到这一题的第一直觉是
2009-09-28 19:23:00 1472
转载 ZZ 状态DP
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2817题目主要用到的算法:状态空间dp题目描述: 这个题的意思是第一行给出case数N (1 Sample Input5 abc bcd cde aaa bfcde 0要求的是,按任意顺序排列这些单词,可以在单词前面加任意个空格,使得相邻的单词上下对应的字母数目最多,并输出最多是多少。Sa
2009-09-28 16:24:00 1415 1
转载 正整数n的k拆分问题
算法小菜鸟刚开始做POJ,1664是一个关于整数拆分的问题,即:将正整数n拆分成k个不能整数的和,0比如:将7差分成3个不同整数的拆分法有8中,其中1,1,5和1,5,1属于同一种拆分法。该问题等同于:将n个完全相同的物品放到k个完全相同的容器中,求有多少种方法。 由于小菜鸟数学不好,感觉是用递推,但总是写不出正确的递推公式,于是google之:http://hi.ba
2009-09-28 11:35:00 7294
原创 KMP字符串匹配C++代码实现
#include #include #include using namespace std;/** *计算next,其中next[0]=-1,next[1]=0; *next[j+1] = k+1 如果p[j]= p[next[j]] = p[k],这里k=next[j] k+1或者0 如果p[j]!=p[next[
2009-09-19 19:18:00 1383
原创 KMP算法中的next数组求解
KMP算法是在模式串的next数组基础上进行的,如何求解next数组就成了关键。next数组的求解和主串无关,只与模式串自身相关。则next[j]= -1, 当j=0时 Max {k|0 0,其他情况比如对于p[5]=c, next[5]=2,因为p0p1=p3p4,此时k=2。下面参考《数据结构》严蔚
2009-09-19 17:10:00 2282
转载 KMP字符串匹配算法
转自http://hi.baidu.com/chioyang/blog/item/e8b58f384f51f2c3d56225fb.html我们从一个普通的串的模式匹配算法开始讲起,这样你才能更深入的了解KMP算法及其优点。咱们先来看看普通的串的模式匹配算法是怎么进行比较的主串 (S) a b a b c a b c a c b a b 子串 (T)a b c a c (子串又被称
2009-09-19 16:05:00 736
原创 Floyd-Warshall方法求有向图的传递闭包
有向图G的传递闭包定义为:G*=(V,E*),其中E*={(i,j)}:图G中存在一条从i到j的路径。 在floyd-warshall求每对顶点间的最短路径算法中,可以通过O(v^3)的方法求出图的传递闭包。可以位每条边赋以权值1,然后运行Floyd-Wareshall。如果从i 到j存在一条路径,则d(i,j) 一种改进的算法是:由于我们需要的只是判断是否从i到j存在一条通路,
2009-09-13 15:56:00 4400
原创 每对顶点间的最短路径之二——floyd warshall
#include using namespace std;const int N = 5;const int E = 9;const int MAX = 0xffff;int ** g;/* * 函数返回Dn-1,其中Dk(i,j)表示顶点i到顶点j的“中间顶点都属于0,1,2,...,k”的最短路径p。 * 于是存在这样的子结构: * Dk(i,j) =
2009-09-13 15:17:00 966
原创 每对顶点间的最短路径之一
这里给出的是基于动态规划方法,时间复杂度时O(v^4),可以通过“重复平方”计数使其复杂度降低位O(v^3*lgv).参考《算法导论》25.1#include using namespace std;const int N = 5;const int E = 9;const int MAX=0xffff;int g[N][N];/* * 这里l1代表“最多包含m-1
2009-09-13 11:25:00 937
原创 Bellman-Ford 算法及其优化(转)
Bellman-Ford 算法及其优化(转) 转自:http://hi.baidu.com/jzlikewei/blog/item/94db7950f96f995a1038c2cd.html http://hi.baidu.com/jzlikewei/blog/item/5343d134b54c6f48251f14cd.html在此,本人感谢原作者的分享Bellman
2009-09-12 10:00:00 1010
转载 删除数组中重复元素
首先排序:nlong(n)int a[] = {1,2,3,3,4,0}; int i=0, j=1; while(a[i]) { if(a[i]!=a[j]) a[++i] = a[j]; j++; } 时间复杂度为O(nlogn);
2009-09-05 21:50:00 1587 3
转载 gdb多进程调试示例
http://bigwhite.blogbus.com/logs/1801699.html众所周知,GDB是Unix/Linux下调试程序的龙头老大,GDB功能强大,我们在平时多使用其一些最基本的功能,而且一般调试的都是单进程的程序。最近一个项目中的问题让我接触如何使用GDB调试多进程程序,更确切的是说调试调用fork的多进程程序。使用GDB最好的文档就是其名为Debugging with
2009-09-01 22:18:00 2871
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关注的人