- 博客(9)
- 收藏
- 关注
原创 BDKRHash详解
公式证明在之前的某一篇博客中我写了,关于BDKRHash的简短的介绍,还没有对其公式和原理进行阐述,实在是罪过罪过。 首先给出BDKRHash的公式 1.hashvalue[i]=(hashvalue[i-1]*seed+str[i]-‘a’+1)%P(也可以用ASCLL码值,但容易爆) 2.Hashvalue[l……r]=(hashvalue[r]-hashvlaue[l-1]*see
2017-08-25 14:21:58
887
原创 几种常见树形数据结构小结
最近新学习了很多厉害的数据结构,在大佬们的熏陶之下,也感悟了很多,对大佬们的实力也有了更加深厚的了解(先膜一番orz,换个姿势zto,再来一次owz)左偏树左偏树又名可并堆,多被用来对一些需要合并的一个集合体进行操作,但其本身只能用于储存最大值或是最小值,说来还是有一些鸡肋。但是在一些仅仅需要找最大值,并将几个堆合并起来时使用还是会有奇效。就好比猴王(详见我的博客),在这道题中使用可并堆就会有出其不
2017-07-13 20:52:02
3854
原创 Monkey King(猴王)——可并堆走起
猴王时间限制: 1 Sec 内存限制: 128 MB题目描述 很久很久以前,在一个广阔的森林里,住着n只好斗的猴子。起初,它们各干各的,互相之间也不了解。但是这并不能避免猴子们之间的争吵,当然,这只存在于两个陌生猴子之间。当两只猴子争论时,它们都会请自己最强壮的朋友来代表自己进行决斗。显然,决斗之后,这两只猴子以及它们的朋友就互相了解了,这些猴子之间将再也不会发生争论了,即使它们曾经发生过冲
2017-07-09 20:06:33
1673
原创 Hash更进一步(Hash字符串——BDKRHash)
在这里先道歉,因为博主实在太蒻,不会写Hash冲突的解决的博客,害怕误人子弟,所以决定写一篇Hash字符串的博客来弥补,实在是罪过、罪过。Hash字符串(第一次接触Hash的小伙伴可以去看一下我的Hash初步,仅供参考)是一种很神奇的操作,历史很多计算机专业的学者,也对它进行了一系列的探讨与开发,所以现在有很多种Hash字符串的处理方式,最为常用的有三种BKDRHash、APHash、DJBHas
2017-07-05 21:48:42
1420
原创 Hash初步
本文初步介绍Hash的原理及用途,萌新的博客不比那些神犇,网上的大佬的博客实在是让萌新佩服得五体投地,但是萌新还是想发表一篇博客来陶冶一下自己的情操(说得很高大上)。现在Hash已经广为程序员所知,但是Hash的由来确鲜为人知,所以作为蒟蒻的我肯定也不知道,毕竟连百度百科也没有解答这一疑问。而且作为一个蒟蒻旨在写出简单易懂、益于初学者理解的博客,我自然不可能把百度百科上的玄学东西放上来。Hash,
2017-07-03 20:30:39
720
原创 离散优化题目—— viojs1056 图形面积 详解
题目博主懒得复制了,https://vijos.org/p/1056 大家费点力自己去看吧。 看完题目,是不是觉得和线段覆盖特别特别像,对就是特别像。 为什么这么说呢,线段覆盖相当于一维的覆盖,而图形面积确是二维的。那么这道题就有办法做了(如果不知道线段覆盖可以看我的博客)。 还记得我们做线段覆盖的时候,我们把每条线段分成两个端点,然后存进数组里,同样这道题也一样,我们可以把正方形的左下角的点
2017-07-03 18:47:58
608
原创 离散优化初步
离散优化我们先来看一道大水题(特别大和点击重新加载一样水)线段覆盖 时间限制: 1 Sec 内存限制: 128 MB X轴上方有若干条平行于X轴的线段,求这些线段能覆盖到的X轴的总长度? 输入 第一行一个数n(n<=1000),表示线段的个数; 接下来n行,每行两个整数ai,bi (-10^8<=ai,bi<=10^8),代表一个线段的两个端点。 输出 输出覆盖x轴的长度。 样例
2017-07-02 19:30:47
4355
原创 Tarjan 有向图
Tarjan 有向图有向图的tarjan是一种寻找强连通分量的算法,是基于DFS的算法。Tarjan的精髓在于把图变成树,由于图的连通性可以生成森林。 所以也就衍生出了4种不同的边。1、树边(Tree Edges, T): v通过边(u, v)发现 2、边(Back Edges, B): u是v的后代 3、向边(Forward Edges, F): v是u的后代 4、叉边(Cross Ed
2017-04-07 21:48:45
1112
原创 BFS模版题----水缸灌水(c++)
先挂题目:水缸灌水题目描述有两个无刻度标志的水壶,分别可装x升和y升(x,y为整数,x、y)的水。设另一方面有一水缸,可用来向水壶灌水或倒出水,两水壶间,水也可以相互倾灌。已知x升为满壶,y升为空壶。问如何通过倒水或灌水操作用最少步数能在y升壶中量出z(z)升的水来。输入一行:x,y,z输出
2017-02-10 16:15:47
1591
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人