摘要: 求1到N的次短路,到某个顶点v的次短路有两种可能,一是到其他某个顶点u的最短路+edge(u,v)二是到其他某个点u的次短路+edge(u,v);因此在松弛的时候不仅要记录最短路,同时也要记录次短路#include#include#include#include#include#include#in... 阅读全文
posted @ 2015-09-01 16:16 Norlan 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 问题描述:任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题1.移位+统计 这种方法的运算次数与输入n最高位1的位置有... 阅读全文
posted @ 2015-08-27 10:23 Norlan 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 题意是问所有前缀出现的次数和,mod10007;想一想next数组代表什么意思,是从当前失配位置走到上一个匹配位置的后面,next[i]的值说明以当前位置为结尾,长度为next[i]的后缀,与以开头元素为起始,长度为next【i】的前缀是相同的,那么方法就很容易了,对于每个j = i,沿着next【... 阅读全文
posted @ 2015-08-26 10:27 Norlan 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 这个题。。需要对KMP的模板理解的比较透彻,以前我也只是会套模板。。后来才知道。。之会套模板是不行的。。如果不能把握模板的每一个细节`,至少能搞清楚模板的每一个模块大体是什么意思。。题意是给出两个串,用这两个串组成一个新串,使新串包含这两个串,问这个新串的长度最小是多少,显然,对于两个串A,B,A如... 阅读全文
posted @ 2015-08-26 10:21 Norlan 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 这个题的意思是说,给出一些字符串,判断是否有字符串是另一个字符串的前缀,当然可以用排序水过,不过这个题拿来练习一下Trie树不错。这个题在poj的discuss上好多人说必须要静态建树,估计都是用了指针实现的。。不过竞赛中最好不要用指针,所以这里用了刘汝佳大神的数组实现方法,其实Trie树最重要的是... 阅读全文
posted @ 2015-08-26 10:08 Norlan 阅读(1242) 评论(0) 推荐(0) 编辑
摘要: //支持插入N个字符串,查询一个字符串是否存在,插入和查询都是o(length);#include#include#include#include#includeusing namespace std;const int maxnode = 400000,sigma_size = 26;//最大结点... 阅读全文
posted @ 2015-08-23 11:02 Norlan 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 给出N个六边形的6个边长,问其中是否有完全相同的两个六边形,完全相同包括边的长度和位置都要相同。边给出的顺序是逆时针或者顺时针的。给每个6边形一个哈希值,方法是对6条边长度的平方和取模#include#include#includeusing namespace std;const int maxn... 阅读全文
posted @ 2015-08-21 10:53 Norlan 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 这个题让求至少出现K次的最大长度的子串,属于最大化最小值问题,首先应该想到二分求字串的长度,二分的过程是O(logN)的,注意judge的时候怎样判断是否满足情况以及满足情况后l,r的变化。可以给每一个子串定一个hash值,判断所有hash值中相同的是否超过K个,hash方法同BDKshash。。P... 阅读全文
posted @ 2015-08-20 15:21 Norlan 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 首先说明:本文不是讨论婚姻问题的,而是一篇以日常生活的婚姻问题为例子说明一个有趣的算法:Gale-Shapley算法(延迟认可算法),如果你为此感到失望的话,我将表示我的歉意,但是你如果有兴趣的话,还是建议你看一下,尤其是对于目前还没有个GF或BF的朋友以及就要结婚的朋友,在讲解算法的实现过程中... 阅读全文
posted @ 2015-08-20 11:47 Norlan 阅读(2281) 评论(0) 推荐(0) 编辑
摘要: 2015-08-19题意:给出两个数n,nc,并给出一个由nc种字符组成的字符串。求这个字符串中长度为n的子串有多少种。分析:1.这个题不用匹配,因为不高效。2.将长度为n的子串看作n位的nc进制数,将问题转化为共有多少种十进制数字。3.哈希时,每一个字符都对应这0---nc-1的一个数字。代码: ... 阅读全文
posted @ 2015-08-19 20:25 Norlan 阅读(245) 评论(0) 推荐(0) 编辑