symons

___________每一天都是幸福的!!

  博客园  ::  :: 新随笔  ::  :: 订阅 订阅  :: 管理
上一页 1 ··· 18 19 20 21 22

2012年10月22日

摘要: 本题是一道DP问题,字符串匹配问题。有3种子问题。1.a[i]与'-'匹配;2.b[j]与'-'匹配;3.a[i]与b[j]匹配。所以状态转移方程有 dp[i][j]=max(dp[i-1][j-1]+dir[a[i]][b[j]],max(dp[i-1][j]+dir[a[i]][4],dp[i][j-1]+dir[b[j]][4]));如果无法理解,请参考算法导论关于DP的章节。注意初始化。 1 #include <iostream> 2 #include <cstring> 3 #include <cmath> 4 us 阅读全文
posted @ 2012-10-22 01:21 symons 阅读(198) 评论(0) 推荐(0)

摘要: 本题的意思和我们学校OJ上的编辑距离是一样的,只不过是一个中文,一个英文罢了。有3中操作,删除,插入,替换。属于字符串匹配的DP问题。如果a[i]==b[j],dp[i][j]=dp[i-1][j-1];否则的话,状态转移方程就是dp[i][j]=min(dp[i-1][j]+1,min(dp[i][j-1]+1,dp[i-1][j-1]+1));另外写的时候一定要注意初始化的问题。-------------------------------------------------#include <iostream>#include <cstring>#include 阅读全文
posted @ 2012-10-22 01:14 symons 阅读(193) 评论(0) 推荐(0)

2012年10月10日

摘要: 这题目,就是排序+求最大子序列题意:给出三个数指箱子的长宽高,但是可以调换,要求箱子摞在一起的最大高度,必须是下面的箱子的长和宽均要比上面的箱子的长和宽要大。(不能相等)。 1 /* 2 本题目基本思路已经成型,那就是先排序,将这些矩形排序,要求长,宽进行排序; 3 我的思路是这样的,先按照长度排序,排序以后要利用DP求出 以高度和为一样的最大子序列。 4 然后就好办了。然后只要相加就可以了 5 */ 6 #include <iostream> 7 #include <algorithm> 8 #include <string.h> 9 using name 阅读全文
posted @ 2012-10-10 00:52 symons 阅读(605) 评论(0) 推荐(0)

2012年9月18日

摘要: RT 阅读全文
posted @ 2012-09-18 21:07 symons 阅读(159) 评论(2) 推荐(0)

2012年4月21日

摘要: KMP模版,网上找到的,有时间我自己写个吧~预计在2天之内。算法导论不好懂啊!!!先用着吧,这个还是比较慢。--------------------------------------------------------------------------------------------------------------------#include <iostream> #include <cstdio> #include <string> using namespace std; const int N = 1000; int sign; strin 阅读全文
posted @ 2012-04-21 21:46 symons 阅读(154) 评论(0) 推荐(0)

2011年12月21日

摘要: C++遇到坎了,做杭电或学校的题,会做的就是那么几种,高级点的就不会做了,所以说该看书了,。。。。迈过这个坎就好了 阅读全文
posted @ 2011-12-21 02:00 symons 阅读(117) 评论(0) 推荐(0)

上一页 1 ··· 18 19 20 21 22