不来也不去的一只失忆蝴蝶

曾迷途才怕追不上满街赶路人

[WerKeyTom_FTD的模拟赛]刻画在历史舞台上的群星

某蒟蒻WerKeyTom_FTD的模拟赛第二题《刻画在历史舞台上的群星》

2016-11-03 21:17:09

阅读数:1918

评论数:0

[bzoj3600]没有人的算术

题目大意定义一种数,要么是0,要么是一个二元组,这个二元组两元都是数。 定义小于是: 1、0<(l,r) 2、如果x<ax<a,那么(x,y)<(a,b) 3、如果x=a,y<by<b,那么(x,y)<(a,b) 定义等于是: 1、0=0 2...

2016-10-29 17:36:37

阅读数:872

评论数:0

[bzoj2658]小蓝的好友

题目大意求一个n*m网格里有多少矩阵包含至少一个黑格子。 数据保证随机Treap可以想到求有多少矩阵不包含任何黑格子。 直接跑单调栈会TLE。 我们可以针对某一行,每个格子求出其最长上升的距离,得到一个数组up。 然后,对up数组进行笛卡尔树建立。 那么,我们知道对于笛卡尔树中任意一个结...

2016-06-25 16:47:21

阅读数:628

评论数:2

关于笛卡尔树及Treap的线性构造法

前言大家到知道笛卡尔树。 而且我们也可以把treap当作笛卡尔树。 现在将介绍笛卡尔树的线性构造法。线性构造维护笛卡尔树从根开始一直往右走的那一条链,这个用单调栈维护。 每次往栈顶的右儿子加点。 然后类似treap一样,就是模拟treap的旋转。 可以看代码理解。fo(i,1,n){ ...

2016-04-06 20:08:01

阅读数:2030

评论数:0

[bzoj3223]文艺平衡树

题目大意维护序列。 需要兹瓷区间翻转。treap大法好嘿嘿嘿裸题。 注意遍历treap的时候也要down标记啊!#include<cstdio> #include<algorithm> #define fo(i,a,b) for(i=a;i<=b;i++) usi...

2016-04-06 20:02:48

阅读数:418

评论数:0

[bzoj3545]Peaks

题目大意一个图,有边权和点权。若干个询问形如询问从点x出发只能走边权不超过y的边,走到所有点点权第k大是多少。离线大法好显然按照边权从小到大排序,用平衡树启发式合并做就好了。 TLE了,不开森。#include<iostream> #include<cstdio> #in...

2016-03-07 20:25:09

阅读数:473

评论数:0

法法塔的奖励

题目大意给定一颗树,求任意结点子树内任意叶子节点到其路径包括该节点的最长不下降子序列的长度的最大值。水你可以搞dfs序 你可以搞Treap的启发式合并 你可以搞线段树合并#include<cstdio> #include<algorithm> #define fo(i,...

2016-02-27 16:34:36

阅读数:484

评论数:0

[bzoj3173][TJOI2013]最长上升子序列

题目大意共n次操作,第i次操作在第xi个数后插入数字i并询问当前最长上升子序列。 n<=100000。离线大法好我们可以先处理出最终序列,然后做一次最长上升子序列。假设数字i最终位置为a[i],那么对于第i次询问答案就是f[a[i]]。Treap如果强制在线该怎么办? 那就是一道Trea...

2016-02-14 11:30:16

阅读数:630

评论数:0

[WC2016]鏖战表达式

前言出题人傻逼题目大意是一道交互题。 初始给你一个表达式,运算符编号越大优先级越高。你可以调用F(a,b,x)表示把元素a与b做x运算符运算得到的值。 现有三种操作,修改一个元素的值、修改一个运算符、翻转一个区间,每个操作后需要返回表达式的值。 不能调用F超过10^7次。 要求在线并可持久...

2016-02-04 16:40:28

阅读数:1333

评论数:0

用Treap实现Splay和线段树的功能

关于Treap一提到维护序列、可支持分裂合并的平衡树,大家都能想到Splay。不过,实际上Treap也可以支持,而且可以无需任何旋转操作,这使得Treap具备可持久化的特点。 本蒟蒻总感觉Treap=Tree+Heap。合并操作我们可以模仿左偏树的合并方式。分裂操作我们可以像kth操作一样往下,...

2015-09-25 19:54:02

阅读数:1091

评论数:0

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