
笔记
文章平均质量分 89
RabbieWjy
OIer
展开
-
树上启发式合并(dsu on tree)学习笔记
树上启发式合并。原创 2024-02-27 13:43:23 · 1149 阅读 · 0 评论 -
线段树 & 线段树合并优化 DP
线段树 & 线段树合并优化 DP原创 2023-05-19 11:53:24 · 1012 阅读 · 1 评论 -
点分治 & 点分树 学习笔记
至此,我们已经了解了这道题中的点分治做法,可以归纳成下面几步:找重心,作为根;树形 dp+ 双指针求解每个询问;递归求解每个子树。而点分治的大多数问题,只是把第222步改一改,总体思路都是一样的。原创 2023-05-01 11:52:53 · 291 阅读 · 0 评论 -
OI 容斥原理 学习笔记
OI 容斥原理相关基本知识原创 2022-07-04 22:00:32 · 436 阅读 · 0 评论 -
luogu P2216 理想的正方形 题解
题意在一个 a×ba\times ba×b 的矩阵中找到一个 n×nn\times nn×n 的正方形,使得正方形内的最大值和最小值之差最小。思路暴力枚举每一个 n×nn\times nn×n 的正方形,枚举正方形内的最大和最小值。时间复杂度: O(abn2)O(abn^{2})O(abn2) ,肯定会超时。单调队列要想优化上面这个算法,可以从“枚举正方形内的最大和最小值”入手。对于 RMQRMQRMQ (这是一个链接)问题,我们可以用单调队列实现 O(n)O(n)O(n) 查找最原创 2020-10-24 12:52:08 · 407 阅读 · 0 评论 -
P1803 凌乱的yyy / 线段覆盖
题目链接:https://www.luogu.com.cn/problem/P1803https://oiinhand.info/problem/show/3/1791题目大意:我们可以把比赛抽象成线段,即在 nnn 条线段中,选取 kkk 条不重叠的线段,使得 kkk 最大。样例图解:不难看出,选择 0−20-20−2 和 2−42-42−4 的线段为最优解。28分 dfs枚举每一个元素选或不选的情况,取最优解。代码:#include<iostream>#include&原创 2020-07-15 13:15:51 · 350 阅读 · 0 评论 -
P1443 马的遍历
题目连接:https://www.luogu.com.cn/problem/P1443这道题问的是最少要几步,所以可以用 bfsbfsbfs(广度优先搜索)解决。初始化bfsbfsbfs 要用到队列。队列有两种表示方法:数组:q[i]q[i]q[i] 表示队列的第 iii 项.head,tail指向队头和队尾。queue:先进先出的线性表。需要头文件 #include<queue>定义 queue <int> q;入队 q.push(x);出队 q.原创 2020-07-15 13:14:41 · 540 阅读 · 0 评论 -
OI 扫描线的基本知识(未完成)
一、扫描线算法是什么从字面上来理解,扫描线其实就是一根线在图里从下往上扫一遍。以下面这张图举个栗子:我们可以用与xxx轴平行的几条线(粉色线)把这几个矩形分成几段:此时,每一小块的面积为底×××高。...原创 2020-01-30 14:34:18 · 2691 阅读 · 0 评论 -
Treap的知识
upd on 2020/1/28旋转Treap·什么是BST?Binary Search Tree 二叉搜索树性质:根节点的值大于左子树的值,小于右子树的值。好处:1.搜索作用寻找k,如果比根大,在右子树,否则在左子树。2.划分(同1)3.同样的N的数字,由于插入BST的顺序不同,会导致树的形态不同。·旋转平衡树(Splay会用)旋转例子:·非旋转平衡树(FHQ-Tr...原创 2020-01-29 16:59:35 · 224 阅读 · 0 评论 -
线段树的基本知识
好的博客:笨蛋花的小窝qwq一、什么是线段树- 线段树是表示区间及线段的树什么是区间,什么又是线段呢?这里有图- 这样的一棵树,可以解决区间的覆盖问题。例题- 输入m条线段,问这m条线段被覆盖的面积有多大。Sample Input1 23 41 72 13Sample Output13那么这道题怎么做呢?方法一:模拟(容易爆)方法二:首先,由于1-13这个区间跨...原创 2020-01-29 16:00:01 · 204 阅读 · 0 评论