平衡树
MaxMercer
成都七中学生,OIer
展开
-
平衡树之treap
treap是平衡树中的一种,为什么要介绍他是因为treap的代码量少,逻辑清晰简单,容易调试,并且性能也很不错.考场里相比起红黑树虽然稳定快速但庞大难调的代码,treap已经蛮够用了. treap用的是一个随机的思想,给每个节点加入一个键值,这个键值是随机给的,可以rand但很慢,最好自己手写rand(代码如下).在treap左旋右旋的操作里,就是通过保证子树的键值一定大于父亲来进行旋转操作,使原创 2017-05-16 12:21:44 · 562 阅读 · 0 评论 -
替罪羊树 模板 bzoj3224
#include<stdio.h>#include <cstring>#include <algorithm>using namespace std;const double a=0.7;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(b原创 2017-05-29 20:18:06 · 531 阅读 · 0 评论 -
[BZOJ]1500 维修数列
1500: [NOI2005]维修数列Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 14433 Solved: 4701[Submit][Status][Discuss]DescriptionInput输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目原创 2017-07-25 14:00:56 · 383 阅读 · 0 评论 -
[BZOJ]3223 文艺平衡树 区间翻转
3223: Tyvj 1729 文艺平衡树Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 4861 Solved: 2851[Submit][Status][Discuss]Description您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5原创 2017-07-25 15:25:22 · 455 阅读 · 0 评论 -
[POJ]3017 单调队列 + set
Cut the SequenceTime Limit: 2000MS Memory Limit: 131072KTotal Submissions: 10705 Accepted: 3267DescriptionGiven an integer sequence { an } of length N, you are原创 2017-10-11 17:31:05 · 336 阅读 · 0 评论 -
可持久化Treap
本来是想写一点题的, 但是Hfu最近让我改键盘指法, 原来都是乱打… 手速蛮快就是错的多… 刚开始练手法真的烦躁, 像我这种从来不用小指头的… 就写个学习笔记吧.非教程向, 只是懂了后不用旋转可持久化Treap首先是基于非旋转式Treap的, 如果要旋转的话那么就会破坏父子关系导致无法可持久化。于是我们只用两个操作.Merge类似于斜堆的合并方式。 如果Treap A key值严格小于Treap B原创 2017-11-25 10:10:53 · 238 阅读 · 0 评论 -
[BZOJ]1014 [JSOI]2008 火星人prefix Splay
1014: [JSOI2008]火星人prefixTime Limit: 10 Sec Memory Limit: 162 MB Submit: 8170 Solved: 2592 [Submit][Status][Discuss] Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam, 我们将这个字符串的各个原创 2017-11-27 08:29:33 · 334 阅读 · 0 评论 -
[BZOJ]1492 货币兑换Cash 斜率优化 动态维护凸包
1492: [NOI2007]货币兑换CashTime Limit: 5 Sec Memory Limit: 64 MBSubmit: 5690 Solved: 2289[Submit][Status][Discuss]Description小Y最近在一家金券交易所工作。该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下简称B券)。每个持有金原创 2018-01-12 15:35:22 · 434 阅读 · 0 评论