问题引入 求 $n$ 个矩形的面积并。$1\leq n\leq 10^5$。 离散化坐标 首先,通过离散化,可以让矩形的坐标从 $10^9$ 级别降至 $10^5$ 级别。 尽管如此,开一个 $N^2$ 的二维数组来存储坐标系里的每个点,仍然还会导致空间超限。 扫描线 本章节中,部分图片来自 "这里 ...
分类:
其他好文 时间:
2019-11-03 16:28:06
阅读次数:
77
主席树是 以前缀和形式基于权值线段树建立的可持久化线段树,可持久化指的是它保存了这棵树的所有历史版本. 最简单的办法是:如果你输入了n个数,那么每输入一个数字a[i],就构造一棵保存了从a[1]到a[i]的权值线段树,由于只增加了logn的节点数,我们增加改变的节点并将没有改变的子树指向该节点,这样 ...
分类:
其他好文 时间:
2019-11-03 16:23:53
阅读次数:
94
``` cpp include using namespace std; const int N = 2e+7 + 5; struct Pt { int a, b, c; int id; bool operator ma, mb, mc; int aa[N], ab[N], ac[N]; int i ...
分类:
其他好文 时间:
2019-11-03 11:15:22
阅读次数:
108
[TOC] (revision)货车运输 最大生成树的正确性 图是森林时用并查集维护两点是否相连。 赋值为INT_MAX的妙用 w[u] [i]表示的时跳到f[u] [i]的沿途边权最小值。既然是求最小值,不要忘了赋初值 【线段树 带修改最大字段和】 (link)小白逛公园 【欧拉函数】 (link ...
分类:
其他好文 时间:
2019-11-03 11:11:01
阅读次数:
110
特点 老师说,可持久化线段树一个重要的特点就是,它的询问都是单点询问... 先记这....等我做多了题目之后再补充 李超线段树 用于维护若干个一次函数的最值 核心思想就是标记永久化, 线段树每个节点维护在该区间中点取值最大的线段,查询时求一条从上到下的链上log个线段的最值。 ————一位大佬Fla ...
分类:
其他好文 时间:
2019-11-03 11:07:21
阅读次数:
92
题目描述: "https://www.cnblogs.com/problems/p/P1112.html" 题目链接: "http://codedecision.com/problem/1112" 线段树区间操作,每一个线段对应的点包含三个信息: $l$:表示这个区间最左边的点的数值; $r$:表示 ...
分类:
其他好文 时间:
2019-11-03 10:38:30
阅读次数:
89
离散化+缩水版线段树+扫描线思想 太毒瘤了 ...
分类:
其他好文 时间:
2019-11-03 01:00:53
阅读次数:
98
传送门:COGS 实际上,拿到这道题我是懵逼的。第一感觉是线段树维护路径费用,然后就没了。 实际上,好好想一想,应该还是可以发现一些玄机的。 用线段树维护公路权值是个人都会吧,不会右转幼儿园。 但是下面期望值怎么算? 想想教练讲的,期望就是加权平均数,那么对于区间L--R的期望实际上就是 这是分子 ...
分类:
其他好文 时间:
2019-11-02 09:20:08
阅读次数:
83
今天我看到ooo聚聚画线段树,但是ta画的不是很好,于是本人饶有兴趣的研究了那棵无聊的树。 但是它并不满足树的性质,于是命名为伪树。 为了防止太弱和别的巨型数据结构撞名导致尴尬,于是又挂了自己$id$的一部分,叫"蒙伪树"($\text{Miemeng's Erroneous Tree}$)可以简称 ...
分类:
其他好文 时间:
2019-11-01 22:19:02
阅读次数:
80
题目传送门(内部题112) 输入格式 一个数$N$,表示矩形的个数。 接下来$N$行,每行四个整数$X_a,Y_a,X_b,Y_b$。分别表示每个矩形左下角和右上角的坐标。 保证$(X_a<X_b,Y_a<Y_b)$。 输出格式 一行,表示能看到的颜色数量。 样例 样例输入: 30 -1 1 12 ...
分类:
其他好文 时间:
2019-11-01 22:09:46
阅读次数:
132