随笔分类 -  数据结构

摘要:金题大战Vol.0 B、序列 题目描述 给定两个长度为 \(n\) 的序列$a$, \(b\)。 你需要选择一个区间$[l,r]$,使得$a_l+…+a_r>=0$且$b_l+…+b_r>=0$。最大化你选择的区间长度。 输入格式 第一行一个整数$n$,第二行$n$个整数$a_1-a_n$,第三行n 阅读全文
posted @ 2020-08-14 20:20 liuchanglc 阅读(195) 评论(0) 推荐(0)
摘要:P6087 [JSOI2015]送礼物 01分数规划+单调队列+ST表 题目背景 \(JYY\) 和 \(CX\) 的结婚纪念日即将到来,\(JYY\) 来到萌萌开的礼品店选购纪念礼物。 萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都排成一列,而且相邻 的礼物之间有一种神秘的美感。于是,\(J 阅读全文
posted @ 2020-08-11 21:40 liuchanglc 阅读(204) 评论(0) 推荐(0)
摘要:柱状图 问题描述 \(WTH\) 获得了一个柱状图 , 这个柱状图一共有 \(N\) 个柱子 最开始第 \(i\) 根柱子的高度为 \(x_i\) , 他现在要将这个柱状图排成一个屋顶的形状 , 屋顶的定义如下 : 屋顶存在一个最高的柱子 , 假设为$i$, 最终高度为 \(h_i\) ,它是所有柱 阅读全文
posted @ 2020-08-05 21:17 liuchanglc 阅读(406) 评论(1) 推荐(5)
摘要:定义 单调队列,即单调递减或单调递增的队列。 入门题(洛谷P1886滑动窗口) 传送门 题目描述 分析 如果用暴力求解的话,我们要将这一个长度为$k$的区间扫一遍 但是实际上,有很多值是显然不会对答案产生贡献的 比如我们要维护该区间的最大值,当前队尾的的元素是$4$,下一个要加进去的元素是$5$ 此 阅读全文
posted @ 2020-07-30 21:35 liuchanglc 阅读(235) 评论(0) 推荐(1)
摘要:题目描述 分析 操作一、二、三为珂朵莉树的基本操作,操作四、五、六稍作转化即可 不会珂朵莉树请移步至这里 求和操作 把每一段区间分别取出,暴力相加 ll qh(ll l,ll r){ it2=Split(r+1),it1=Split(l); ll ans=0; for(it=it1;it!=it2; 阅读全文
posted @ 2020-07-17 20:58 liuchanglc 阅读(275) 评论(2) 推荐(1)
摘要:什么是珂朵莉树 珂朵莉树,又称$Old Driver Tree(ODT)$(老司机树)。 是一种基于$set$的暴力数据结构。 因此,再学习珂朵莉树之前,要掌握一些$set$和迭代器的知识 珂朵莉树的适用范围 线段树能干的它都能干(只要你不怕T) 使一整段区间内的东西变得一样,数据随机 比如下面这一 阅读全文
posted @ 2020-07-16 20:37 liuchanglc 阅读(1671) 评论(1) 推荐(6)
摘要:一、二叉排序树 1、定义 二叉排序树$(Binary\ Sort\ Tree)\(,又称二叉查找树\)(Binary\ Search\ Tree)$,亦称二叉搜索树。 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: 1、若左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2、若右子树 阅读全文
posted @ 2020-07-14 19:06 liuchanglc 阅读(1071) 评论(0) 推荐(1)
摘要:题目描述 WYT有一把巨大的刷子,刷子的宽度为M米,现在WYT要使用这把大刷子去粉刷有N列的栅栏(每列宽度都为1米;每列的高度单位也为米,由输入数据给出)。 使用刷子的规则是: 与地面垂直,从栅栏的底部向上刷 每次刷的宽度为M米(当剩余栅栏宽度不够M米的话,刷子也可以使用,具体看样例2) 对于连续的 阅读全文
posted @ 2020-07-11 20:09 liuchanglc 阅读(183) 评论(0) 推荐(1)
摘要:题目描述 如题,一开始有 n 个小根堆,每个堆包含且仅包含一个数。接下来需要支持两种操作: 1 x y:将第 x 个数和第 y 个数所在的小根堆合并(若第 x 或第 y 个数已经被删除或第 x 和第 y 个数在用一个堆内,则无视此操作)。 2 x:输出第 x 个数所在的堆最小数,并将这个最小数删除( 阅读全文
posted @ 2020-07-10 15:15 liuchanglc 阅读(132) 评论(1) 推荐(0)
摘要:题目描述 小豆现在有一个数 x ,初始值为 1 。 小豆有 Q 次操作,操作有两种类型: 1 m: x=x×m ,输出 xmodM ; 2 pos: x=x/ 第 pos 次操作所乘的数(保证第 pos 次操作一定为类型 1,对于每一个类型 1 的操作至多会被除一次),输出 xmodM 。 Inpu 阅读全文
posted @ 2020-05-26 09:50 liuchanglc 阅读(164) 评论(0) 推荐(0)
摘要:传送门 分析 如果直接暴力枚举的话肯定会超时 我们可以从下往上遍历,维护一个小根堆 每次到达一个节点把战败的骑士扔出去 剩下的再继续向上合并,注意要维护一下其实的战斗力 可以像线段树那样用一个lazy标记 代码 #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2020-05-21 10:26 liuchanglc 阅读(157) 评论(0) 推荐(0)
摘要:Least Cost Bracket Sequence CodeForces - 3D 题目描述 This is yet another problem on regular bracket sequences. A bracket sequence is called regular, if by 阅读全文
posted @ 2020-05-17 18:50 liuchanglc 阅读(232) 评论(0) 推荐(0)
摘要:题目描述 You are given a weighed undirected connected graph, consisting of n vertices and mm edges. You should answer q queries, the i-th query is to find 阅读全文
posted @ 2020-05-09 11:41 liuchanglc 阅读(163) 评论(0) 推荐(0)
摘要:洛谷P3295 [SCOI2016]萌萌哒 题目描述 公式粘过来就乱了,还是去洛谷看题吧 分析 如果暴力解决的话就是使用并查集把位数相同的数位并在一起。比如区间[1,2]和区间[3,4]的数字完全相同,那么我们就把1和3并在一起,在把2和4并在一起,这样它们的祖先相同,就相当于把它们绑定在了一起,同 阅读全文
posted @ 2020-05-04 17:16 liuchanglc 阅读(216) 评论(0) 推荐(0)
摘要:题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。游戏进行到最后,lxhgww遇到了终极boss,这个终极boss很奇怪,攻击他的装 阅读全文
posted @ 2020-05-03 17:57 liuchanglc 阅读(227) 评论(0) 推荐(0)
摘要:题目传送门 展开 题目描述 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3。蛐蛐国最近蚯蚓成灾了!隔壁跳 蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。蛐蛐国里现在共有n只蚯蚓(n为正整 数)。每只蚯蚓拥有长度,我们设第i只蚯蚓的长度 阅读全文
posted @ 2020-04-16 21:52 liuchanglc 阅读(217) 评论(0) 推荐(1)