摘要: 开坑啦! 2019 3/28 以前一直不知道怎么搞最大子段和,如今终于可以学习,其实真的很简单啊。 2019 3/29 树链剖分上最大子段和也OK啦 前置技能:线段树 题目大意:询问区间[l,r]的最大字段和 定义: 大家都应知道,线段树基本原理,那么最大子段和放在线段树上,其实就是两个区间的合并时 阅读全文
posted @ 2019-04-09 17:21 Hastieyua 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 前记 把之前学的平衡树都写一下,最近更新:Splay Treap 本人的Treap丢了,放之前学习的Treap看看 cpp include using namespace std; struct Treap{ static const int MAXN=400000+10; static const 阅读全文
posted @ 2019-04-09 17:20 Hastieyua 阅读(309) 评论(0) 推荐(0) 编辑
摘要: ~~其实这里只不过是个人学数据结构的总结罢了~~ [TOC] 咕了,以后再更新。。。 前言 OI中的算法有很多,不同算法解决的问题不一样,时间复杂度也不一样,那么在众多OIer中,就有一些毒瘤,他们弄出了可以让程序变快的东西。那就是 数据结构 。另外,数据结构都很毒瘤,他们都有一个特点,就是 代码特 阅读全文
posted @ 2019-04-09 17:19 Hastieyua 阅读(1208) 评论(0) 推荐(0) 编辑
摘要: 后缀数组略讲 参考文献: IOI2009 国家集训队论文 后缀数组 罗穗骞 什么是后缀数组? 后缀数组是一个十分不好理解并且不好实现的字符串算法,但是它很重要,因为它可以实现后缀树的大部分操作。而且内存比后缀树要小很多。 后缀数组的实现 基本定义 声明 :本人的字符串全部从0开始 后缀 :后缀指从某 阅读全文
posted @ 2019-04-09 17:19 Hastieyua 阅读(299) 评论(0) 推荐(0) 编辑
摘要: GoodBye 2018 $\color{red}\Huge\text{Hello 2019} $ 再见,2018 你好,2019 在2018年的最后一天,刚刚训练回来,睡了个午觉,精神很好,写一下2018总结 都差不多忘完了 ...... 七年级下,还老老实实的搞文化课,尽了力,成绩好了点 暑假, 阅读全文
posted @ 2019-04-09 17:17 Hastieyua 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 前记 这些是初一暑假的事: “都快初二了,连网络流都不会,你好菜啊!!!” from 某机房大佬 to 蒟蒻我。 flag:——NOIP后要学网络流 咕咕咕…………………………………………………………………………………… 现在是2018 12 29,我终于开始学网络流了。 网络流其实也没有想象的那么 阅读全文
posted @ 2019-04-09 17:17 Hastieyua 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 这是一个全新的数据结构 md,别看这篇文章了,这篇已经废了。 百折不饶,再交一次,更新复杂度证明 这里是HYF,蒟蒻一只,最近因某些原因开始学数据结构了,然后就写了这篇题解。 下面给大家介绍一个全新的数据结构,暂且称作IST(Immortal segment tree),你们也可以称作YYC Seg 阅读全文
posted @ 2019-04-09 17:15 Hastieyua 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 前记 这些是初一暑假的事: “都快初二了,连网络流都不会,你好菜啊!!!” from 某机房大佬 to 蒟蒻我。 flag:——NOIP后要学网络流 咕咕咕…………………………………………………………………………………… 现在是2018 12 29,我终于开始学网络流了。 网络流其实也没有想象的那么 阅读全文
posted @ 2019-04-09 17:15 Hastieyua 阅读(615) 评论(0) 推荐(1) 编辑
摘要: 本篇blog主要是给自己(大家)看的。 感谢 "longlongzhu123" 奆佬(此人初二LCT)的指点,使本蒟蒻可以快速开始主席树入门。 what is 主席树? $ \ \ \ \ \ \ \ $主席树这个名字只不过是OIer们在思考政(zhe)治(xue)的时候发明的好(du)听(liu) 阅读全文
posted @ 2019-04-09 17:13 Hastieyua 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 分块 分块(第一节) 前记 最近学了分块(好奇怪啊,我先学线段树,树状数组,平衡树才开始学分块),为了不让自己忘记,也随便总结总结。因为刚刚开始入门,所以只讲最简单和最基础的。(以后会慢慢更新) 啥是分块妳 嗯~,其实分块是一种很暴力的算法,可以用于处理区间操作(主要)等问题,可以将线性的枚举优化。 阅读全文
posted @ 2019-04-09 17:11 Hastieyua 阅读(244) 评论(0) 推荐(0) 编辑
摘要: $ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $强连通分量与拓扑排序 拓扑排序 $ \ \ \ \ \ \ $对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈ 阅读全文
posted @ 2019-04-09 17:10 Hastieyua 阅读(1307) 评论(0) 推荐(1) 编辑
摘要: $ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $扩欧讲解 前记 $ \ \ \ \ \ \ \ $本蒟蒻的第二篇blog,之前学了扩欧却一直没时间写,现在趁着“山竹”台风,学校放假,写一下扩欧(qwq都忘得差不多了) 前提摘要 $ \ \ \ \ \ \ \ $ what is 阅读全文
posted @ 2019-04-09 17:06 Hastieyua 阅读(1622) 评论(0) 推荐(3) 编辑
摘要: $ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $学习总结:并查集 蒟蒻的第一篇博客,如有bug,请大佬提出,勿喷。 并查集: 并查集虽说是集合,不过个人觉得类似树形结构,像森林,刚开始每一个节点是一个森林,不断把森林合并,形成树。 • 是一组不相交的集合。即集合之间没有公共元素 阅读全文
posted @ 2019-04-09 17:05 Hastieyua 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 题面 是不是简单到爆炸!!! 这样通过指针的特殊性,我们把那个log的时间复杂度给省掉了,时间复杂度降为O(nm)。 代码: cpp include using namespace std; define int long long define maxn 200011 const int pyz= 阅读全文
posted @ 2019-04-09 17:03 Hastieyua 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 吼题啊 刚开始看上去又以为是LCT啥子的。 后来发现,TM是个图。 然后果断准备放弃,突然发现只有N个点N条边。 woc,这不就一个基环树上树链剖分吗。。。 关于基环树问题,相信大家都一定很有经验了吧,用个并查集找出多的边,然后把图分成一棵树和一条边,然后树上就树上做,多出来的边就可以另外处理。 关 阅读全文
posted @ 2019-04-09 17:02 Hastieyua 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 思路:将黑边标记为1,白边标记为100000,树链剖分 如果查询时ans超过100000,那就有白边,输出 1,不然直接输出ans 阅读全文
posted @ 2019-04-09 17:02 Hastieyua 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题面 cpp 有R红色立方体,G绿色立方体和B蓝色立方体。每个立方体的边长是1。现在有一个N × N的木板,该板被划分成1×1个单元。现在要把所有的R+G+B个立方体都放在木板上。立方体必须放置在单元格内,单元格可以竖立放置多个立方体。 放置在板上的立方体可以被视为“建筑物”。一个“建筑物”被称为“ 阅读全文
posted @ 2019-04-09 17:01 Hastieyua 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 树链剖分吼啊 ~~一看就看出是LCT模板题啦~~ 前记 见这么多人写LCT,却很少人写树链剖分,于是我就来一发树链剖分(其实是因为自己不会LCT) 本蒟蒻的写法和诸位写树链剖分的大神有点不同 思路 树链剖分,简单题 操作 操作1:'C' 操作 : 简单的说就是把x到y的边cut掉,题目又保证x,y相 阅读全文
posted @ 2019-04-09 17:00 Hastieyua 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 简单树剖 没什么好讲的,只把几个操作说一下: 1、每一次操作都把x到y的点权都加1 2、最后查一下整个树的点权最大值 只需要对【模板】树链剖分 的线段树部分略加修改就OK了,修改就是把累加变成求最大值,简单得不行了。 代码: cpp include define maxn 4000001 defin 阅读全文
posted @ 2019-04-09 17:00 Hastieyua 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 莫队 简单分析:题面含有IOI(惊),可知此题是IOI(数字三角形)难度(逃)。 思路:回滚莫队 当然很多人都是抱着学回滚莫队的目标来看这道题的,所以这里介绍一下回滚莫队。 1、按莫队的思路讲询问排序。 2、查询时枚举每个区间,我们需要保证右端点是保持单调递增的,同时左端点每次在一个块中移动,以此来 阅读全文
posted @ 2019-04-09 16:58 Hastieyua 阅读(126) 评论(0) 推荐(0) 编辑