2013年8月12日

KMP算法--转

摘要: 作者: 阮一峰日期: 2013年5月 1日字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上有很多解释,但读起来都很费劲。直到读到Jake Boxer的文章,我才真正理解这种算法。下面,我用自己的语言,试图写一篇比较好懂的KMP算法解释。1.首先,字符串 阅读全文

posted @ 2013-08-12 20:21 bbsno 阅读(134) 评论(0) 推荐(0) 编辑

简单计算几何 hdu-4491 Windmill Animation

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4491 题目意思:给m个点,一个开始点和一个与水平方向的夹角。求这条直线逆时针旋转时,第一个碰到的点a,然后以a点为新的转轴,再逆时针转,找到b,如此类推,最后顺序输出最开始的s个作为轴的点。解题思路:对于每一条旋转线,以轴为中心,分成两个相反向量,记为oa和ob.对于每一个点c,如果该点在直线的左半部分,求出oa向量和oc向量的夹角,如果该点在直线的右半部分,求出ob向量与oc向量的夹角。找出除去构成这条直线的两个点,找出其它的点的上述夹角最小的点,作为新的轴点,在构造出新的oa和ob.注意oa和 阅读全文

posted @ 2013-08-12 20:19 bbsno 阅读(199) 评论(0) 推荐(0) 编辑

hdu--1247--Hat’s Words(一般)

摘要: Hat’s WordsTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5772Accepted Submission(s): 2154 Problem Description A hat’s word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary. You are to fi... 阅读全文

posted @ 2013-08-12 20:17 bbsno 阅读(225) 评论(0) 推荐(0) 编辑

基于文件过滤驱动的透明加密那点事儿

摘要: 文件透明加密这点事儿,从2001年开始出现基于API HOOK的方式开始到现在,已经十几年了,有细心人按技术实现的方式将其细分为4代,分别是基于API HOOK的第一代技术、基于文件过滤驱动(加清缓存)的第二代技术、使用Layerfsd的双缓冲第三代技术和基于微软新一代minifilter框架的Layerfsd双缓冲第四代技术。第一代和第二代的技术划分基本上没有异议,所谓的第四代很多人并不认同,认为使用minifilter框架算不上是技术突破,其技术实现仍然是基于Layerfsd的双缓冲技术,没有新意。 我们从2009年开始研究并实现了基于Layerfsd的双缓冲技术,并应用于自己的产品... 阅读全文

posted @ 2013-08-12 20:15 bbsno 阅读(3673) 评论(0) 推荐(0) 编辑

[SOA] Mule ESB 3.x 入门(一)—— 消息流

摘要: 关于Mule ESB,简单来说Mule接受一个消息,按照某种顺序处理这个消息,这样的处理可导致多种结果。有时,Mule改变或变换消息返回到原来的消息来源(request-response)。或者,在其原有的基础上改变形式发送到一个或多个第三方(router, transfer)。而在其他一些情况下,如果消息没有达到的具体要求,Mule可以拒绝处理的消息validation, throttling)。Mule 从3.0开始采用 flow 为单元的配置方式控制消息流(Mule 2.x 中使用 ),利用 Mule IDE 通过可视化的 flow blocks来组装 flow。就像一个管道,消息从一端 阅读全文

posted @ 2013-08-12 20:12 bbsno 阅读(787) 评论(0) 推荐(0) 编辑

黑马程序员_高新技术之代理

摘要: -----------android培训、java培训、java学习型技术博客、期待与您交流!---------一,代理的概念和作用 1,概述: 代理的主要类:java.lang.reflect.Proxy 生活中的代理:比如买电脑,直接在家附近的代理商买比直接去北京总部买要方便的多。 程序中的代理:为已存在的多个具有相同接口的目标类的各个方法增加一些系统功能,例如,异常处理、日志、计算方法的运行时间、事务管理、等等2,编写一个与目标类具有相同接口的代理类,代理类的每个方法调用目标类的相同方法,并在调用方法时加上系统功能的代码。比如下面的代码为X类增加了一个计算方法的系统功能代码: class 阅读全文

posted @ 2013-08-12 20:10 bbsno 阅读(196) 评论(0) 推荐(0) 编辑

Android的Java代码优化

摘要: 在深入开发之前,你应该意识到代码优化不是应用开发的首要任务。提供良好的用户体验并专注于代码的可维护性才是首要任务。 1.Android如何执行代码我们需要分清楚:最终Android应用只包含Dalvik字节码,而不是Java字节码。APK文件只是简单的ZIP压缩文件,可以用常见的压缩工具解压。Dalvik虚拟机是基于寄存器(虚拟寄存器,非真实的硬件寄存器),Sun的java虚拟机JVM是基于栈。Java指令是16位的,JVM和DEX指令集基本也是16位。Android2.2中引入了实时编译器(JIT)。Dalvik JIT编译器把Dalvik字节码编译成本地代码,这样可以明显加快执行速度。在应 阅读全文

posted @ 2013-08-12 20:08 bbsno 阅读(229) 评论(0) 推荐(0) 编辑

H面试程序(0):字符串一些常用函数的实现

摘要: 1、Strcat函数原型如下:char *strcat(char *strDest, const char *strScr) //将源字符串加const,表明其为输入参数{ char * address = strDest; //该语句若放在assert之后,编译出错 assert((strDest != NULL) && (strScr != NULL)); //对源地址和目的地址加非0断言 while(*strDest) //是while(*strDest!=’\0’)的简化形式 { ... 阅读全文

posted @ 2013-08-12 20:06 bbsno 阅读(186) 评论(0) 推荐(0) 编辑

ctype.h头文件

摘要: ctype.h里的函数概况1 字符测试函数1> 函数原型均为int isxxxx(int)2> 参数为int, 任何 实参均被提升成整型3> 只能正确处理处于[0, 127]之间的值2 字符映射函数1> 函数原型为int toxxxx(int)2> 对参数进行检测, 若符合范围则转换, 否则不变int tolower(int); 'A'~'Z' ==> 'a'~'z'int toupper(int); 'a'~'z' ==> 'A'~' 阅读全文

posted @ 2013-08-12 20:03 bbsno 阅读(351) 评论(0) 推荐(0) 编辑

poj 3657

摘要: 非常考分析能力的一个题目。 因为这个答案是满足单调性的,可以二分,转化成判定性问题之后。这么考虑,如果把所有的询问按照回答降序排列,然后每处理一个询问的时候,先看它的区间是否被完全覆盖,如果是,则矛盾,否则把它的区间覆盖。 解释一下,每次覆盖的时候,意思就是这个位置不能放更小的值,如果有一次询问区间没有空白的位置,证明这个值没有办法放进去。所以矛盾。反之,我们每次都任意找一空白处放进一个值,肯定能构造出解。 但是,这个题目还要求值是唯一的,所以要一次处理所以相同的值,求交集,如果交集为空,矛盾。否则,查看交集,覆盖并集。 到这里还有问题,这个题目的范围很大,要离散化,离散化还有... 阅读全文

posted @ 2013-08-12 20:01 bbsno 阅读(211) 评论(0) 推荐(0) 编辑

导航