最大子序列和线性算法
问题描述:
给定整数A1, A2,……AN (可能有负数),求I到j的最大值。
例如:
-2, 11, -4, 13, -5, -2时答案为20
对于这个问题的算法有很多,当然我要说的是使用“动态规划”算法实现的程序,对于这个算法,我可以说很多人都曾经想到,但是没有想全(因为我就是这样的)。还有一点对于这个问题的动态规划的解法是非常经典的,她的时间复杂度是O(n),也就是线性的。而对于穷举法它的时间复杂度可是O(n3), 这样看来可以巨大的改进了。
阅读全文>
发表于 @ 2005年03月27日 21:06:00|评论(loading...)|编辑|收藏
若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。 •给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。
•给定2个序列X={x1,x2,…,xm}和Y={y1,y2,…,yn},找出X和Y的最长公共子序列。
阅读全文>
发表于 @ 2005年03月24日 11:59:00|评论(loading...)|编辑|收藏
求出一列数中的“逆序对”的个数;所谓“逆序对”就是指数的大小与其在序列中的顺序相反的一对数;例 如:中“逆序对”有,,,,这5个;要求时间复杂度为O(nlogn);
阅读全文>
发表于 @ 2005年03月12日 10:31:00|评论(loading...)|编辑|收藏
AES (http://www.cryptosystem.net/aes/)阅读全文>
发表于 @ 2004年11月18日 19:54:00|评论(loading...)|编辑|收藏
MD5的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是md2、md4还是md5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但md2的设计与md4和md5完全不同,那是因为md2是为8位机器做过设计优化的,而md4和md5却是面向32位的电脑。这三个算法的描述和c语言源代码在internet rfcs 1321中有详细的描述(http://www.ietf.org/rfc/rfc1321.txt),这是一份最权威的文档,由ronald l. rivest在1992年8月向ieft提交。
阅读全文>
发表于 @ 2004年11月15日 22:07:00|评论(loading...)|编辑|收藏
从键盘上接受两个4位十六进制数,在下一行以二进制形式输出两数的异或的结果。并将此二进制数的结果中的第3到第0与第15位到第12位对调,再以十六进制输出!阅读全文>
发表于 @ 2004年10月27日 23:59:00|评论(loading...)|编辑|收藏