合集-学习笔记

摘要:## 分治 ### 基本介绍 分治法,即“分而治之”,对于一个难以解决的大问题,将其分解成 $k$ 个相同或相似的规模更小的子问题,一直分解直到问题足够小,极容易求解为止。 ### 解题步骤 分治法建模的大概流程可以分为三步: 1. 分解:将大问题分解成多个更小的独立且相同或相似子问题,直到子问题容 阅读全文
posted @ 2023-05-26 08:51 week_end 阅读(117) 评论(0) 推荐(1)
摘要:### 前置知识 1. $\pi=\arccos(-1)$ 2. 余弦定理 $c^2=a^2+b^2-2ab\cos\theta$ ### 浮点数比较 ```cpp const double eps=1e-8;//根据题意适时调整 int sign(double x) {//符号函数 if(fabs 阅读全文
posted @ 2023-06-13 06:55 week_end 阅读(196) 评论(0) 推荐(0)
摘要:日拱一卒无有尽 功不唐捐终入海 基础算法 模拟 排序算法 二分答案 分治 贪心 构造 高精度 前缀和 & 差分 搜索 深度优先搜索 广度优先搜索 记忆化搜索 搜索的剪枝 双向搜索 A* IDA* 动态规划 简单动态规划 线性动态规划 背包动态规划 区间动态规划 树形动态规划 复杂动态规划 状态压缩动 阅读全文
posted @ 2023-07-17 21:41 week_end 阅读(50) 评论(0) 推荐(0)
摘要:注:只整理了一些比较常用的并且考的可能大的知识点 1. Flood Fill * 典型例题 P1514 [NOIP2010 提高组] 引水入城 2. 搜索剪枝 * 常用搜索剪枝: * 优化搜索顺序 大部分情况下,我们应该优先搜索分支较少的结点 * 排除等效冗余 不考虑顺序的情况下,一般用组合数搜索, 阅读全文
posted @ 2023-08-23 19:58 week_end 阅读(20) 评论(0) 推荐(0)
摘要:## 主要内容 本文主要介绍了五种在 oi 中常用的排序方式,包括以下内容: 1. 快速排序 2. 归并排序 3. 计数排序 4. 桶排序 5. 基数排序 接下来我们会一一介绍它们。 ### 快速排序 快速排序,简称快排。是一种常用的排序方式,虽然一般不会考代码实现,但是其思想比较精妙。 #### 阅读全文
posted @ 2023-08-26 17:05 week_end 阅读(231) 评论(0) 推荐(1)
摘要:前言:稍微学习了一下康托展开,写个笔记总结一下。 # 定义 首先搬来百度百科的解释 > 康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。——百度百科 提取一下定义的精髓,就是说康托展开能: 1. **压缩 阅读全文
posted @ 2023-07-21 17:48 week_end 阅读(110) 评论(0) 推荐(0)
摘要:学习本文需要提前掌握前缀和、差分和 LCA。 简介 树上前缀和,简单来说就是把前缀和思想运用到树上。可以通过前缀和 \(O(n+m)\) 求解所有点到某一点的距离(边权和)或权值和(点权和),一般这个点是根,\(O(1)\) 求解某两个点之间的树上路径的距离或权值和。 树上差分,同样,简单来说就是把 阅读全文
posted @ 2023-09-04 07:47 week_end 阅读(397) 评论(0) 推荐(1)