前置知识 二叉树 正篇 首先先来一个问题:给出一个长度为n的序列和m个操作,操作分别是: 1. 单点修改 2. 单点查询 3. 区间加减 4. 区间查询和 "模板题出处" 最简单的做法就是在数组上暴力for, 这样的话单点修改和查询的时间复杂度是$O(1)$, 区间加减和区间查询的复杂度是$O(n) ...
分类:
其他好文 时间:
2020-04-09 00:48:47
阅读次数:
63
草草整理一下,以后再完善一点 堆排序的复杂度是比较稳定的$O(nlgn)$,并且具有空间原址性。 二叉堆是一个是一个数组,通过类似线段树的方式来表示父结点和子结点 其中1结点代表根,在大根堆中代表最大的数 任何子结点在循环前都可以看作一个平凡堆 大根堆中,每个结点都要比它的子结点大,维护这个性质,只 ...
分类:
编程语言 时间:
2020-04-08 20:53:12
阅读次数:
69
题目链接:https://codeforces.com/contest/961/problem/E 题意: 给你一个长度为 N 的数组 A 问 j < i && a[i] >= j && a[j] >= i 的 (i , j) 有多少对 分析: 权值线段树 其实这是道主席树裸题 , 但我想介绍一种权 ...
分类:
其他好文 时间:
2020-04-07 20:13:17
阅读次数:
72
【题目描述】 现在有一棵二叉树,所有非叶子节点都有两个孩子。在每个叶子节点上有一个权值(有$n$个叶子节点,满足这些权值为$1\dots n$的一个排列)。可以任意交换每个非叶子节点的左右孩子。 要求进行一系列交换,使得最终所有叶子节点的权值按照遍历序写出来,逆序对个数最少。 【输入格式】 第一行n ...
分类:
其他好文 时间:
2020-04-06 23:38:43
阅读次数:
80
URL https://codeforces.com/contest/1326/problem/E 解法 在加入炸弹的过程中答案显然不升,且每次剩下的数都是上一次的子集。 考虑当前的答案是 $x$,已经删除了所有 $ x$ 的数,判断 $x$ 是否被删除。充要条件是: 最右的 $\ge x$ 的数的 ...
分类:
其他好文 时间:
2020-04-05 09:56:23
阅读次数:
57
Description The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral poste ...
分类:
其他好文 时间:
2020-04-05 00:52:42
阅读次数:
87
题目描述 NiroBC 姐姐奴役了一群跳蚤,并随时把它们丢到一台图灵机的纸带上。 一开始,纸带上没有跳蚤,每一个时刻,NiroBC 姐姐可能做以下三个操作之一: 1. 在位置x 放置一只每次向右(坐标增大方向)跳t 格的跳蚤。 2. 命令所有跳蚤向右跳跃一次,跳跃的距离为各自的t。 3. 给定区间[ ...
分类:
其他好文 时间:
2020-04-04 23:02:09
阅读次数:
189
以下为为求区间和,求区间最大值,最小值模板 题目以 敌兵布阵 HDU - 1166 为例子 1 #include <iostream> 2 #include <algorithm> 3 #include <string.h> 4 #include <cstdio> 5 #include <strin ...
分类:
其他好文 时间:
2020-04-04 22:43:45
阅读次数:
77
题目内容: 给定一个长n高2的网格图,如下图: 有三种操作: 1、删除一条边 2、将一条删除的边再加回来 3、询问从一个点到另一个点的不同路径数(不可经过重复边) 算法复杂度要求不能大于 n log n (由于只有题面,没有输入格式和数据,所以在此只讲一下思路) 正解是用线段树维护。 先给网格图标上 ...
分类:
其他好文 时间:
2020-04-04 18:55:11
阅读次数:
86
「Luogu P3521 [POI2011]ROT-Tree Rotations」的题解 ...
分类:
其他好文 时间:
2020-04-04 14:38:12
阅读次数:
51