2014年7月27日
摘要: 题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1711 改进的模式匹配算法--KMP算法,时间复杂度有O(n*m)降到O(n+m),求解next数组之后与常规的模式匹配算法相同。 1 #include 2 const int maxn=100... 阅读全文
posted @ 2014-07-27 20:08 BMESwimming 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目来源:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1549 并查集,求出每个friends集合,然后再计算每个集合friends个数,求出最... 阅读全文
posted @ 2014-07-27 13:04 BMESwimming 阅读(143) 评论(0) 推荐(0) 编辑
  2014年7月26日
摘要: 题目来源:http://vjudge.net/problem/viewProblem.action?id=19592扩展欧几里得方程: ax+by=gcd(a,b)一定有解 把a=floor(x/k);b=ceil(x/k);floor,ceil分别为向下取余和向上取余。 ... 阅读全文
posted @ 2014-07-26 17:42 BMESwimming 阅读(151) 评论(0) 推荐(0) 编辑
  2014年7月23日
摘要: 题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=4462 典型的的状态压缩问题,所谓状态压缩是指当前状态用二进制的形式来存储,当然也可以用其它进制。在实际效果中可以将时间复杂度O(n!)变成O(n*2^n)的时间复杂度,提高了运行速度。 本题就是... 阅读全文
posted @ 2014-07-23 17:36 BMESwimming 阅读(138) 评论(0) 推荐(0) 编辑
  2014年7月21日
摘要: 题目来源:http://poj.org/problem?id=3233 矩阵的快速幂。写完这份代码提交后Time Limit Exceeded,更改一小部分后,发现仍然是Time Limit Exceeded,然后无语了,从网上看了一份代码,以为自己的二分递归还有运算符重载时间用的比较多(这个... 阅读全文
posted @ 2014-07-21 20:58 BMESwimming 阅读(175) 评论(0) 推荐(0) 编辑
摘要: DP矩形镶嵌,打印路径与最长公共子序列相似。 1 #include 2 #include 3 #define doumax(a,b) (a>b?a:b) 4 const int maxn=100; 5 int mat[maxn][maxn],dp[maxn],n; 6 struct node{ 7 ... 阅读全文
posted @ 2014-07-21 11:34 BMESwimming 阅读(261) 评论(0) 推荐(0) 编辑
  2014年7月19日
摘要: 先看那道迷宫题,BFS可以解答,路径输出部分正好昨天看最长公共子序列遇到到过。然后做题过程中发现好多人都把第一题第二题做完了,这时候正好感觉D题有些代码量,就做A B,A题是水题,B题其实也是水题,一开始没看懂题,写了一大坨代码,结果time limited!然后就沉下心去做D题,1A,继续... 阅读全文
posted @ 2014-07-19 11:55 BMESwimming 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 最长公共子序列求解问题。 1 #include 2 #include 3 const int maxn=1000; 4 char s1[maxn],s2[maxn]; 5 int c[maxn][maxn]; 6 int main() 7 { 8 while(scanf("%s%s",s1,... 阅读全文
posted @ 2014-07-19 00:12 BMESwimming 阅读(112) 评论(0) 推荐(0) 编辑
  2014年7月18日
摘要: 还算是简单的DP问题,状态方程也不难。刚开始一看还以为是最长连续序列的最大值,想了老半天想不出状态方程。 1 #include 2 #include 3 #define doumax(a,b) (a>b?a:b) 4 const int maxn=1000+5; 5 int a[maxn],d[ma... 阅读全文
posted @ 2014-07-18 21:28 BMESwimming 阅读(137) 评论(0) 推荐(0) 编辑
摘要: DAG嵌套模型,状态方程由1改成高度就行。 1 /*简单的DAG矩形嵌套模型,即权值为1*/ 2 #include 3 #include 4 #define doumax(a,b) (a>b?a:b) 5 const int maxn=100; 6 int mat[maxn][maxn],dp[ma... 阅读全文
posted @ 2014-07-18 19:52 BMESwimming 阅读(146) 评论(0) 推荐(0) 编辑