- 博客(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关注的人