OI-数据结构
OI数据结构
suxuyu01
蒟蒻
展开
-
[JSOI2008]最大数
题目描述现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制: LLL 不超过当前数列的长度。 (L>0)(L>0)(L > 0) 2、 插入操作。语法:A n功能:将 nnn 加上 ttt ,其中 ttt 是最近一次查询操作的答案(如果还未执行过查询操作,则 t=0t=0t=...原创 2018-08-20 17:06:22 · 237 阅读 · 0 评论 -
Day3 数据结构
栈和队列单调栈、单调队列//P1886#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#define For(i,l,r) for(in原创 2018-07-19 19:40:56 · 141 阅读 · 0 评论 -
树链剖分学习笔记
写代码又犯了很sb的错误,线段树写错了。。。 好像每次都会把r-l+1写成l-r+1,然后就只有20分。。。 代码写的比较丑,压了压之后190行。。。 基本上是我打过的最长的一个模板了 然后简单介绍一下树剖吧。。。树链剖分,就是把树剖分成链,然后用数据结构来维护这些链,使得询问、修改的复杂度达到O(logn)O(logn)O( log n)(不会证明。。。) 几个定义:重儿...原创 2018-08-23 16:22:49 · 127 阅读 · 0 评论 -
数列分块入门
题目全在LOJ上,就叫数列分块入门 首先介绍一下分块 分块是一个适用范围很广的数据结构 基本思路就是:整块的操作O(1)打标记,边角暴力 希望退役之前能做完1~91我们把这个n个元素的数列分成num个大小为size的块,size=n/size 做加法的时候,整块的就O(1)O(1)O(1)标记,不是整块暴力加上 查询的时候取出元素加上其所在块得标记即可 不是暴力的最多有2...原创 2018-08-21 15:32:09 · 162 阅读 · 0 评论 -
[TJOI2009]开关
这个题和 XOR的艺术 以及 [USACO08NOV]光开关Light Switching 非常相似,思路都是完全一样的 我们用线段树来维护区间内亮的灯的个数,lazy标记维护当前区间是否被反了一遍 这就是基本思路#include <iostream>#include <cstring>#include <cstdio>#include <...原创 2018-08-21 15:35:25 · 187 阅读 · 0 评论