摘要: 翻看了算法导论,KMP甚是巧妙的设计,大概知道算法思想,木有看代码实现,转载一篇详解KMP字符串模式匹配详解来自CSDN A_B_C_ABC 网友KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一. 简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){/* 若串 S 中从第pos(S 的下标0≤pos<StrLength(S))个字符起存在和串 T 相同的子串,则称匹配成功,返回第 阅读全文
posted @ 2012-02-10 17:09 HUJJ 阅读(3006) 评论(0) 推荐(1) 编辑
摘要: 题目:http://poj.org/problem?id=1062本题难点在于构图,比较巧的做法是将探险家作为另一个节点(第n+1个节点)并将该节点定为源点,之后把其余节点 i (人)直接买他的东西所花费的价钱作为第n+1个节点到第i个节点的权值,方向是由n+1指向i;其他的边权值由替代品x的价格来构造,方向是由代替品x指向索要者y。可以发现构造的有向带权图,由源点n+1指向各个节点。我们的任务转化为求n+1节点到第一个节点(酋长)的最短路径。用dijkstra或bellman都可以做。dfs暂时没看。注意一个点本题限制了等级,则在酋长允许的等级区间 【level[1]-m,level[1]+ 阅读全文
posted @ 2012-02-10 00:26 HUJJ 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=3927看到网上的解题报告才知道反幻方有这性质,学习了。。。定理:若n(n>=3)阶方阵为 A=[aij]a[i][j]=(i-1)*(n-1)+j ; (i=1,...n, j=1,....n-1)a[i][j]=n*(n-1)+i; (i=1,...n,j=n)则A是一个n阶反幻方http://www.cnblogs.com/xiaoxian1369/archive/2011/09/22/2184852.htmlView Code 1 #include<stdio.h> 2 #def 阅读全文
posted @ 2012-02-10 00:05 HUJJ 阅读(263) 评论(0) 推荐(0) 编辑