题目描述 小 A 的楼房外有一大片施工工地,工地上有 $N$ 栋待建的楼房。每天,这片工地上的房子拆了又建、建了又拆。他经常无聊地看着窗外发呆,数自己能够看到多少栋房子。 为了简化问题,我们考虑这些事件发生在一个二维平面上。小 A 在平面上 ($(0,0)$ 点的位置,第 $i$ 栋楼房可以用一条连 ...
分类:
其他好文 时间:
2020-04-16 19:33:28
阅读次数:
76
思路:适用整数,实数就不知道了 一个1e18以内的数,经过最多6次开平方操作后,会变成1 所以线段树的每个节点记一下开了几次根号 每次暴力修改就行,>6就不下去了 nlogn ...
分类:
其他好文 时间:
2020-04-16 19:30:38
阅读次数:
77
题目描述 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为N的数列,不妨设为a1,a2,…,aN 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。 输入 ...
分类:
其他好文 时间:
2020-04-14 01:04:44
阅读次数:
69
写篇博客记录我逝去的一下午+一晚上 过程 学动态$DP$ 学$LCT$ 调啊调 对着别人代码疯狂改动 AC 作用 求带修改点权的多次询问的最大独立集 朴素 最大独立集的求解有个朴素的$DP$ 然后发现如果只考虑某一条链的贡献就可以矩阵优化 可是怎么拆出来一条链呢? 优化 1.树链剖分+线段树 2.$ ...
分类:
其他好文 时间:
2020-04-13 23:04:01
阅读次数:
79
题目 "点这里" 看题目。 分析 以下设$k=\lfloor\log_2(\max a)\rfloor$。 关于异或凑数的问题自然可以用线性基处理,即如果可以插入到线性基,就说明无法凑出这个数。 于是我们就有了一个线段树或者倍增维护区间线性基的方法,时间是$O(k^2nlog_2n)$。 ..... ...
分类:
其他好文 时间:
2020-04-12 18:50:33
阅读次数:
80
题目链接 很明显的2SAT问题,和树上距离有关显然要考虑树分治。由于2-SAT不具有容斥性,点分治不方便处理,不过我们可以边分治。 边分治,分治过程中对每条边t左右两侧各建立一棵线段树,线段树上每个区间结点u(设代表的区间范围为[l,r])开两个条件结点p[u][0]和p[u][1],分别代表”边t ...
分类:
Web程序 时间:
2020-04-12 12:38:10
阅读次数:
108
[TOC] 为什么要使用线段树? 最经典的线段树问题:区间染色 有一面墙 ,长度为n,每次选择一段儿墙进行染色,m次操作后,我们可以看见多少种颜色? 例如上图,我们第一次将[1,8]的位置染成蓝色,然后再将[5,9]的位置染成黄色,然后将[6,15]的位置染成红色,最后把[12,15]的颜色染成绿色 ...
分类:
其他好文 时间:
2020-04-12 10:44:06
阅读次数:
60
不相交就直接搞啊。。没啥技巧,i j如果选了就是(i,j)选了。 ...
分类:
其他好文 时间:
2020-04-11 09:50:05
阅读次数:
93
一、使用场景 频繁修改场景下用于求前缀和 前缀积等(区间和可以通过前缀和计算而来) 查询和修改的时间复杂度都是O(logN) 二、原理 如求前缀和 (树桩数组只是存一段区域的统计值,业务自己决定,如果求前缀和就存这段区域的和;如果求出现次数就存这段区域的数出现的次数) 一个原始数组A 对应一个树桩数 ...
分类:
编程语言 时间:
2020-04-11 00:40:47
阅读次数:
80
前置知识 二叉树 正篇 首先先来一个问题:给出一个长度为n的序列和m个操作,操作分别是: 1. 单点修改 2. 单点查询 3. 区间加减 4. 区间查询和 "模板题出处" 最简单的做法就是在数组上暴力for, 这样的话单点修改和查询的时间复杂度是$O(1)$, 区间加减和区间查询的复杂度是$O(n) ...
分类:
其他好文 时间:
2020-04-09 00:48:47
阅读次数:
63