自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Charlie Pan's Blog

山是山,山非山;其实困难与简单之间只是一线之隔。

  • 博客(52)
  • 收藏
  • 关注

原创 浅谈BST (Binary Search Tree)

Part I.Introduction         BST是一棵二叉树。         从微观上来讲,BST的每个节点都大于其左节点,且小于其右节点。         从宏观上来将,BST的每个节点都大于其左子树的每个节点,且小于其右子树的每个节点。         以上性质称为BST的顺序性。         通过一些例子和分析我们不难发现,一棵BST的中序遍历是有序

2014-03-04 16:45:36 1568

原创 BZOJ 1861: [Zjoi2006]Book 书架

题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1861 题目大意:维护5个操作,具体详见原题(Charlie Pan表示博客写累了~) 算法讨论:         Splay题。         Part I 显然Top和Bottom操作是对称的,我们只需将节点旋转到Root后将左右儿子合并即可。

2014-03-04 16:03:34 1151

原创 BZOJ 1588: [HNOI2002]营业额统计

题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1588 题目大意:对于每个插入,将最小波动值累加。 算法讨论:         平衡树模板题。         为了让博客充实一点,我还是说点什么吧……         每次求Pred和Succ,比较后将差值较小者累加……         然后又A了一题。

2014-03-04 15:54:05 785

原创 BZOJ 1503: [NOI2004]郁闷的出纳员

题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1503 题目大意:实现5个操作:建立新档案、全局加、全局减、查询K大,当工资低于下界时离开公司。 算法讨论:         下传标记的平衡树,我用的是Treap。         对于“当工资低于下界时离开公司“操作,只需要在查询操作的基础上加一些判断即可。  

2014-03-04 15:49:26 1246

原创 BZOJ 1251: 序列终结者

题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1251 题目大意:维护3种操作:区间加、区间翻转、询问区间Max。 算法讨论:         说是“终结者”,其实只是一题入门题和模板题而已。         区间翻转显然用的是Splay。         然后就OK了。 Code: /* * Pr

2014-03-04 15:43:12 936

原创 BZOJ 1208: [HNOI2004]宠物收养所

题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1208 题目大意:对每一只新来的宠物/领养者,将与这只宠物/领养者最接近的领养者/宠物的特点值与新的特点值之差累加。 算法讨论:         平衡树模板题,我用的是Treap。         Part I 我的做法是开2棵Treap,一棵记录宠物的情况,另一棵记

2014-03-04 15:38:46 1034

原创 BZOJ 1056: [HAOI2008]排名系统 & BZOJ 1862: [Zjoi2006]GameZ游戏排名系统

题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1056 & http://www.lydsy.com/JudgeOnline/problem.php?id=1862 题目大意:维护3种操作:上传得分(删除原得分),查询排名,查询某段区间的排名。 算法讨论:         Splay模板题。         需要注

2014-03-04 15:27:19 1217

原创 浅谈线段树 Segment Tree

Part I.Introduction         线段树是一棵二叉树,其每个节点表示一个区间[a,b]。         若一个节点不是叶子节点,则其左儿子表示区间[a,mid],其右儿子表示区间[mid+1,r]。         由于这是一棵二叉树,我们可以采用一个数组记录一棵线段树。设某个节点数组下标为i,则其左儿子数组下标为i*2,右儿子数组下标为i*2+1。

2014-02-19 14:53:01 1388 2

原创 BZOJ 1798: [Ahoi2009]Seq 维护序列seq

题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1798 题目大意:维护一个序列,提供区间加、区间乘、区间询问操作。 算法讨论:         线段树模板题。         由于要处理加和乘2个操作,所以在下传标记时需要注意处理完整。我的做法是先处理乘标记,再处理加标记。处理乘标记时对其子节点的加、乘、答案标记都

2014-02-19 13:29:59 1069

原创 BZOJ 1012: [JSOI2008]最大数maxnumber

题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1012 题目大意:维护一个序列,提供查询、插入操作. 算法讨论: 线段树的模板题. 可以先预置一个[1,oo]的线段树,每次插入后将len++. 其余操作和线段树相同. Code: /* * Problem:1012 * Author:PYC */

2014-02-19 12:43:47 686

原创 BZOJ 1000: A+B Problem

题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1000 题目大意:输入a,b,输出a+b. 关键字:/ 算法讨论: 作为BZOJ的第一题,目的是让大家了解BZOJ的输入输出方式. 由此题可以发现BZOJ的输入输出方式是标准输入输出(即不用文件输入输出). Code: /* * Problem:1000 * Author:

2014-02-19 12:09:08 1189

原创 Hello World!

#include using namespace std; int main(){ printf("Hello World!\n"); return 0; } Hello World! Welcome to Charlie Pan's Blog! ---By Charlie Pan Feb 19th,2014

2014-02-19 11:51:15 586

空空如也

空空如也

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

TA关注的人

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