摘要: AC自动机简介:KMP是用于解决单模式串匹配问题, AC自动机用于解决多模式串匹配问题。精华:设这个节点上的字母为C,沿着他父亲的失败指针走,直到走到一个节点,他的儿子中也有字母为C的节点。然后把当前节点的失败指针指向那个字目也为C的儿子。如果一直走到了root都没找到,那就把失败指针指向root。... 阅读全文
posted @ 2014-05-23 20:04 ihge2k 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 模块一:线段树单点更新,区间最值。http://acm.hdu.edu.cn/showproblem.php?pid=1166线段树功能:update:单点更新,query:区间求和。http://acm.hdu.edu.cn/showproblem.php?pid=1754线段树功能:update... 阅读全文
posted @ 2014-03-20 22:22 ihge2k 阅读(1520) 评论(0) 推荐(0) 编辑
摘要: 首先得讲一下单调队列,顾名思义,单调队列就是队列中的每个元素具有单调性,如果是单调递增队列,那么每个元素都是单调递增的,反正,亦然。那么如何对单调队列进行操作呢?是这样的:对于单调队列而言,队首和队尾都可以进行出队操作,但只有队尾能够进行入队操作。至于如何来维护单调队列,这里以单调递增队列为例:1、如果队列的长度是一定的,首先判断队首元素是否在规定范围内,如果不再,则队首指针向后移动。(至于如何来判断是否在制定范围内,一般而言,我们可以给每个元素设定一个入队的序号,这样就能够知道每个元素原来的顺序了)。2、每次加入元素是,如果元素小于队尾元素且队列非空,则减小尾指针,队尾元素出队列,直到保持队 阅读全文
posted @ 2014-03-11 09:35 ihge2k 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 更新中...http://poj.org/problem?id=1037dp[i][j][0]表示序列长度为i,以j开始并且前两位下降的合法序列数目;dp[i][j][1]表示序列长度为i, 以j开始并且前两位上升的合法序列数目;于是我们可以得到递推方程式:dp[i][j][0] += dp[i-1][k][1] ( 1 dp[i][j]表示第i个数字到第j个数字经过运算后的最小值以及最大值,然后就需要枚举断开的位置了,并且由于是环,需要取模处理,最后就是记忆化搜索了,需要注意的就是两个最小值相乘也有可能成为最大值。http://paste.ubuntu.com/6960005/http:/. 阅读全文
posted @ 2014-02-16 15:37 ihge2k 阅读(3807) 评论(1) 推荐(0) 编辑
摘要: Ubuntu下安装步骤 sudo apt-get install git完成git的安装 安装完成后进行配置 git config –global user.name “Your Name” git config –global user.email “email@example.com” 连接Gi 阅读全文
posted @ 2015-05-01 15:49 ihge2k 阅读(365) 评论(0) 推荐(0) 编辑
摘要: IntroductionThe network file system(NFS) is a client/service application that provides shared file storage for clients across a network.An NFS... 阅读全文
posted @ 2015-04-28 12:12 ihge2k 阅读(572) 评论(0) 推荐(0) 编辑
摘要: IntroductionThis paper presents the design of a new Web server architecture called the asymmetric multi-process event-driven (AMPED) architec... 阅读全文
posted @ 2015-04-27 20:14 ihge2k 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 最近在看《算法》这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题。import java.util.*;/* * * 用来计算表达式 * for example: 1+2*3*(4+3*1)-3*1+2+3/1; * (1+2*... 阅读全文
posted @ 2015-01-30 21:04 ihge2k 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 后缀数组学习资料:http://blog.csdn.net/wxfwxf328/article/details/7599929题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4691思路:首先求出上下相邻的查询的字符串的LCP(最长公共前缀),这个可以通... 阅读全文
posted @ 2015-01-05 12:08 ihge2k 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 生产者和消费者是一个多线程同步的经典案例,该问题描述了两个共享固定大小缓冲区的线程,即所谓的“生产者”和“消费者”,顾名思义,生产者指的就是生产一定的数据量到缓冲区,而消费者就是从缓冲区取走一定的数据。生产者和消费者问题要解决一个死锁问题,就是当缓冲区已经满的时候,生产者占着它等待消费者来取走数据,... 阅读全文
posted @ 2014-12-29 20:48 ihge2k 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 首先是配置JDK步骤一:下载最新版本的JDK,链接:http://www.oracle.com/technetwork/java/javase/downloads/index.html步骤二:首先在/usr/local目录下创建一个名为java的目录,然后执行命令: cd /usr/local/ja... 阅读全文
posted @ 2014-12-28 13:50 ihge2k 阅读(2410) 评论(0) 推荐(0) 编辑
摘要: 给出官网上的例子:http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.htmlJava中concurrent包中的CountDownLatch类说白了就是一个计数器,我们可以通过设置参数来进行计数,... 阅读全文
posted @ 2014-12-18 18:56 ihge2k 阅读(2045) 评论(0) 推荐(0) 编辑
摘要: ZooKeeper为我们提供了用于监视结点变化的Watcher机方法制:1、可以注册Watcher的方法:getData()、exists()、getChildren()。我们可以通过查看ZooKeeper API看到getData方法: void getData(String path, bool... 阅读全文
posted @ 2014-12-18 15:28 ihge2k 阅读(1261) 评论(0) 推荐(0) 编辑
摘要: 当我们把zookeeper服务启动时,首先需要做的一件事就是leader选举,zookeeper中leader选举的算法有3种,包括LeaderElection算法、AuthFastLeaderElection算法以及FastLeaderElection算法,其中FastLeadElection算法... 阅读全文
posted @ 2014-12-16 19:23 ihge2k 阅读(2264) 评论(0) 推荐(0) 编辑