摘要: 转载自http://www.cnblogs.com/dolphin0520/archive/2011/08/24/2151846.html KMP算法在介绍KMP算法之前,先介绍一下BF算法。一.BF算法 BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结果。 举例说明: S: ababcababa P:ababaBF算法匹配的步骤如下 i=0 i=1 i... 阅读全文
posted @ 2012-04-26 11:55 索少 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 标准C++中的string类的用法总结相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的使用。标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废话少说,直接进入正题吧!要想使用标准 阅读全文
posted @ 2012-04-26 00:45 索少 阅读(172) 评论(0) 推荐(0) 编辑
摘要: [002]数学作业(300分)Time Limit: 1000 ms Memory Limit: 65536 KBTotal Submit: 14 Accepted: 5Description小学的一道数学题由N个正整数(1,2…N)组成的序列A,对于给定的序列A(a1,a2,...ai,...an),有一个确定的序列B(b1,b2,...bi,...bn)与之相对应,bi表示在序列A中数字i之前有bi个数字大于i。已知A,求B。例:已知A={4,5,3,1,2},求B解得:B={3,3,2,0,0}在A中,1前面有4,5,3一共3个大于1的数,所以在B中b1 =3,同理,A中2前面也有3.. 阅读全文
posted @ 2012-04-25 20:47 索少 阅读(302) 评论(0) 推荐(0) 编辑
摘要: string 初始化 string *s1=new string[1000]; 阅读全文
posted @ 2012-04-25 20:38 索少 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。它与布尔运算的区别在于,当运算符两侧均为1时,布尔运算的结果为1,异或运算的结果为0。简单理解就是不进位加法,如1+1=0,,0+0=0,1+0=1。性质1、交换律2、结合律(即(a^b)^c == a^(b^c))3、对于任何数x,都有x^x=0,x^0=x4、自反性 A XOR B XOR B = A xor 0 = A异或运算最常见于多项式除法,不过它最重要的性质还是自反性:A XOR B XOR B = A,即对给定的数A,用同样的运算因子(B)作两次异或运算后仍得 阅读全文
posted @ 2012-04-25 19:05 索少 阅读(38702) 评论(3) 推荐(7) 编辑