自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

转载 splay tree

类别:二叉排序树空间效率:O(n)时间效率:O(log n)内完成插入、查找、删除操作创造者:Daniel Sleator和Robert Tarjan优点:每次查询会调整树的结构,使被查询频率高的条目更靠近树根。注:所有图片来自wiki。http://blog.csdn.net/cyberzhg/article/details/8058208

2016-12-21 09:25:48 505

转载 平衡树之splay讲解

原文作者为BLADEVIL学长:http://www.cnblogs.com/BLADEVIL/p/3464458.html 首先来说是splay是二叉搜索树,它可以说是线段树和SBT的综合,更可以解决一些二者解决不了的问题,splay几乎所有的操作都是由splay这一操作完成的,在介绍这一操作前我们先介绍几个概念和定义  二叉搜索树,即BST(binary search tr

2016-12-20 19:52:33 971

原创 hdu 1576 扩展欧几里得

已知:A / 9973 = a求:(A  / B ) % 9973首先明确,(A/B) %9973 !=(A % 9973) / (B % 9973)  推导:令 (A / B ) % 9973 = ans所以 A / B = ans + 9973c  (c未知)即 A=ans*B +  9973Bc因为 A % 9973 =a所以 (ans*B + 9973Bc)

2016-12-28 17:43:50 261

原创 欧拉函数模板 附hdu1286&poj 2407&hdu1787 &hdu2824 【pascal】

关于欧拉函数的讲解不再赘述,直接贴代码方法一、质因数分解法,对于一个数x,时间复杂度最坏O(n)(当n为质数时)hdu1286var t,x,ans :longint;function find(n:longint):longint;var p:longint;begin ans:=n;p:=2; whi

2016-12-26 20:37:17 795

原创 快速线性筛法求素数 (模板+简单解释)

首先明确任何合数都能表示成一系列素数的积第一种易于理解的方法:注意对1的预处理即可,空间较大var n,m,x,t :longint; i,j :longint; prime :array[0..10000010] of longint; vis

2016-12-26 11:48:52 1377

原创 hud 4300 扩展kmp

题目大意:多组数据               第一行是一个含有26个字母的字符串,即翻译表,表示字母表(a、b、c……)中第i个字母对应的密文是s1[i]               第二行是一个另一个字符串s3,前面为密文后面为明文,密文一定是完整的, 明文可能不完整或没有               输出完整的密文和完整的明文那么我们就把s3全部当做密文,根据翻译表s1全部翻

2016-12-26 10:28:49 300

原创 hdu 4333 kmp+扩展kmp

第一个问题,如何比较新生成的数与原数的大小?比较相同位数的数的大小,从最高位到最低位一位一位比较,如果每一位数都相等,那么这两个数相等;否则找到第一位不相同的数,比较该数大小,该数大的原数大,该数小的原数小;那么,我们需要一位一位比较,那么如果前缀是一样的话我们就可以不去比较直接比较不相同的那一位即可显然,这是扩展kmp所解决的问题那么我们将数字转化为字符串处理,len为原数的

2016-12-23 21:10:13 388

原创 bzoj 1500 splay 【终极模板】 【pascal】

连打带差错一天就这样过去了orz orz orz{$inline on}const sroot=-1; maxn=100000000;var n,m,root,tot,top:longint; p,q,t :longint; i,j :longint;

2016-12-22 21:43:13 509

原创 bzoj 3223 splay模板 【pascal】

const sroot=-1;var n,m,x,y, root :longint; i :longint; a :array[-1..100010] of longint; father,size,tree:array[-1..100010] of lon

2016-12-20 20:54:47 403

原创 bzoj 1029 贪心+堆

Description  小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者。但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快修复的话,这些建筑设施将会完全毁坏。现在的情况是:T部落基地里只有一个修理工人,虽然他能瞬间到达任何一个建筑,但是修复每个建筑都需要一定的时间。同时,修理工人修理完一个建筑才能修理

2016-12-18 17:06:50 472

原创 bzoj 1015 正难则反+并查集

Description  很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被摧毁,两个星球之间

2016-12-18 16:51:53 406

原创 bzoj 1787 lca

三个点,两两找lca,最后结果一定在这三个点中出,都算出来比较一下就可以了(两个点的最短距离+第三个点到lca的距离)脑残:建图的时候一定要乖乖的建,不要建成n-1条有向边,会不联通的 orz orz orzvar n,m,ans1,root,pos:longint; l,a,b,c,ans2,tt,t:longint; ta,tb,tc

2016-12-16 21:39:15 329

原创 bzoj 1022 博弈 Anti-Nim(模板)

具体证明请见贾志豪大犇的2009论文 orz,这里直接贴结论:对于Anti-SG 的:1、如果所有子游戏的SG异或和=0且所有子游戏的SG2、如果所有子游戏的SG异或和1则先手必胜两种情况都不满足的则先手必输代码:var t,n,cnt,tot :longint; i :longint; a,s

2016-12-16 21:33:28 377

原创 bzoj 1034 伪田忌赛马

其实,它就是田忌赛马的那个套路=。=能赢不平,能平不输先都排序,然后小的能赢就让它赢,小的赢不了的话就去看大的,大的能赢就赢呗=。=然后小的也赢不了大的也也不了就让小的输给他一个大的(注意判断一下平局)反正小的也没用,大的还可以赢得出最大得分=。=易知,无论双方输赢如何,n局的双方总得分是一定的即2*n 分,所以最小的分=2*n-对方最大得分var n,an

2016-12-16 21:22:51 577

原创 bzoj 2464 BFS【水】

水过就好,就当是个好心情=。=const walk:array[1..4,1..2] of integer=((1,0),(-1,0),(0,1),(0,-1));type rec=record x,y:longint;end;var n,m,sx,sy,tx,ty :longint; s :a

2016-12-16 21:11:23 471

原创 一些最小生成树的性质

1、换掉一条边并且保证结果是树记为一次操作,树A和B是无向图的两个生成树,则A可以通过若干次操作变成B。 证:把树看作边的集合,如果B中有一条A没有的边,则把这条边加到A上,A产生一个圈中至少有一条是B中没有的边,把这条边删掉,则A仍然是生成树,也就是说,我们可以随便加一条B有而A没有的边,总可以找到一条合适的边删掉。A,B集合相同的边多了一条,重复这个过程直到A=B它告诉我们任何

2016-12-16 11:26:24 1554

原创 bzoj 1191 [HNOI]超级英雄Hero 二分图最大匹配(匈牙利算法)

1191: [HNOI2006]超级英雄HeroTime Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3911  Solved: 1801[Submit][Status][Discuss]Description现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品

2016-12-15 21:46:19 461

原创 尺取法模板 【pascal】(附poj 3061&poj 2739)

尺取法,详细的介绍以及图片网上有很多,这里不再啰嗦,个人更喜欢叫它毛虫算法,以至于在程序中的名字都叫caterpillar(毛虫),因为它的移动和毛毛虫真的是太像了=w=时间复杂度:O(n)直接贴代码(模板)poj 3061var t,n,m,ans :longint; i :longint;

2016-12-15 21:36:06 591

原创 poj1236 Network of Schools (tarjan缩点+求入度为0的点和出度为0的点的个数)

题目链接:http://poj.org/problem?id=1236 题目大意:N(2各学校之间有单向的网络,每个学校得到一套软件后,可以通过单向网络向周边的学校传输问题1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件。问题2:至少需要添加几条传输线路(边),使任意向一个学校发放软件后,经过若干次传送,网络内所有的学校最终都能得到软件。强

2016-12-13 18:02:39 931

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除