摘要: 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构。 相关阅读:树状数组 线段树可以在 \(O(\log N)\) 的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。 线段树维护的信息,需要满足可加性,即能以可以接受的速度合并信息和修改信息,包括在使用 阅读全文
posted @ 2020-07-31 20:03 RioTian 阅读(7432) 评论(3) 推荐(3) 编辑
摘要: 一、内容 题意:给定【1,8000】区间,给定n组操作,每次将一段区间修改成某种颜色(对上一次颜色进行覆盖),最后问你能看到多少种颜色,且每种颜色有多少段。 二、思路 题目给定的区间是**(x, y】左开右闭的区间** 进行对区间的修改即可,每次记录下lazy,修改时候pushdown。 查询的时候 阅读全文
posted @ 2020-07-31 17:15 RioTian 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 简介 离散化本质上可以看成是一种 哈希 ,其保证数据在哈希以后仍然保持原来的全/偏序关系。 通俗地讲,就是当我们只关心数据的大小关系时,用排名代替原数据进行处理的一种预处理方法。离散化本质上是一种哈希,它在保持原序列大小关系的前提下把其映射成正整数。当原数据很大或含有负数、小数时,难以表示为数组下标 阅读全文
posted @ 2020-07-31 16:55 RioTian 阅读(5081) 评论(2) 推荐(2) 编辑
摘要: Mayor's posters https://vjudge.net/problem/POJ-2528#author=szdytom 线段树 + 离散化 讲解:https://blog.csdn.net/qq_35802619/article/details/98326267 #include<io 阅读全文
posted @ 2020-07-31 15:53 RioTian 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 敌兵布阵 HDU - 1166 多组输入,注意清除tr数组 维护一个前缀数组,耗时有点大 #include <cstdio> #include <cstring> using namespace std; const int maxn = 5e4 + 5; int t, n; int sum[max 阅读全文
posted @ 2020-07-31 10:01 RioTian 阅读(226) 评论(0) 推荐(0) 编辑