随笔分类 -  ACWING 基础课

摘要:## 二维差分 我们已经知道了[一维差分](https://www.cnblogs.com/FXT1110011010OI/p/16551251.html)如何去做,那么如果扩展到二维呢?这里就要引入**二维差分**了。 ### 定义 > 给定一个数组 a,构造一个数组 b,使得 a阅读全文
posted @ 2022-08-10 20:20 FXT1110011010OI 阅读(61) 评论(0) 推荐(0) 编辑
摘要:差分 定义 给定一个原数组 a,构造一个数组 b,使得 ai=b1+b2+b3++bi。 也就是说,ab 的前缀和数组,我们称 ba 的差分数组。 换句话说,差分是前缀和的逆运算。 作用 在 O(1) 的时间复杂度内将序列中 阅读全文
posted @ 2022-08-04 17:10 FXT1110011010OI 阅读(40) 评论(0) 推荐(0) 编辑
摘要:## 二维前缀和 ### 定义 > 我们用 sum 数组表示原矩阵的二维前缀和,sumi,j 表示左上角 (1,1) 、右下角 (i,j) 的子矩阵的和。 ### 作用 > 求任意子矩阵的和。 ### 具体如何求? #### 求二维前缀和 ![二维前缀和.png](htt 阅读全文
posted @ 2022-08-04 09:28 FXT1110011010OI 阅读(51) 评论(0) 推荐(0) 编辑
摘要:## 前缀和算法 > 前缀和是指数组中前 i 项的和,通常用 sumi 表示。 我们设 a 是原数组:sumi=a1+a2+a3+...+ai。 ### 算法的好处 前缀和算法一般用来处理区间和问题。 如下图: ![前缀和.png](https://c 阅读全文
posted @ 2022-07-29 20:18 FXT1110011010OI 阅读(35) 评论(0) 推荐(0) 编辑
摘要:## 算法思路 模拟除法竖式。 ### 流程 1. **从最高位开始处理**,上一次的余数 ×10 再加上当前位上的数字(被除数,我们令它为 A); 2. 往答案数组中压入 AB(这里 B 表示除数),然后将余数更新为 $ 阅读全文
posted @ 2022-07-29 20:16 FXT1110011010OI 阅读(38) 评论(0) 推荐(0) 编辑
摘要:## 算法思路 本题中要我们求**高精 × 低精**,与之前的[加](https://www.cnblogs.com/FXT1110011010OI/p/16528599.html)、 [减](https://www.cnblogs.com/FXT1110011010OI/p/1652 阅读全文
posted @ 2022-07-29 10:44 FXT1110011010OI 阅读(26) 评论(0) 推荐(0) 编辑
摘要:## 算法思路 与[高精度加法](https://www.cnblogs.com/FXT1110011010OI/p/16528599.html)大致相同,同样运用了“列竖式”的思想。 当然,加法中的“进位操作”要改成减法中的“退位操作”。 具体过程如下: 1. 从最低位开始,用被减数的这一位减去减 阅读全文
posted @ 2022-07-28 14:53 FXT1110011010OI 阅读(49) 评论(0) 推荐(0) 编辑
摘要:## 观察题目 第一眼看题:这不就是大淼题 A + B 吗? 再一看,看到数据范围 1100000,很显然,C ++  中自带的数据类型肯定不行。 怎么办? ## 算法思路 观察到题目给出的整数长度数组存的下,因此我们可以先读 阅读全文
posted @ 2022-07-28 14:52 FXT1110011010OI 阅读(54) 评论(0) 推荐(0) 编辑
摘要:## 实数二分模板题 实数二分与整数二分差不多,但**要注意精度**。 首先,我们知道,答案在 1000010000 之间。 如何判断在区间内能否二分呢?那就需要运用到二分的**二段性**了。 我们可以把这个区间分成两部分: 1. 左区间 $ #include #include # 阅读全文
posted @ 2022-07-28 14:51 FXT1110011010OI 阅读(29) 评论(0) 推荐(0) 编辑
摘要:一道整数二分模板题。 ## 二分介绍 二分查找是一种算法,其输入是一个元素列表,注意:列表必须是有 **二段性** 的(**二分的本质不是单调性,而是二段性**)。 二分查找通常用于: * 序列中是否存在满足某条件的元素; * 序列中第一个满足某条件的元素的位置; * 序列中最后一个满足某条件的元素 阅读全文
posted @ 2022-06-29 10:02 FXT1110011010OI 阅读(40) 评论(0) 推荐(1) 编辑
摘要:## 前置知识 归并排序 ### [不会的点这里QwQ](https://www.cnblogs.com/FXT1110011010OI/p/16415199.html) ## 逆序对算法 ### 定义 逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满 i<j阅读全文
posted @ 2022-06-28 20:57 FXT1110011010OI 阅读(44) 评论(0) 推荐(0) 编辑
摘要:## 归并排序介绍 归并排序是建立在归并操作上的一种有效,稳定的排序算法。 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路 阅读全文
posted @ 2022-06-27 09:48 FXT1110011010OI 阅读(49) 评论(0) 推荐(0) 编辑
摘要:## 前置知识 快速排序 ###[不会的点这里QwQ](https://www.cnblogs.com/FXT1110011010OI/p/16298279.html) ## 快速选择算法 使用分治思想 快速排序排的每一趟,数轴的左边都会是 **小于等于** 基准数、右边都是 **大于等于** 基准 阅读全文
posted @ 2022-06-12 17:08 FXT1110011010OI 阅读(31) 评论(0) 推荐(0) 编辑
摘要:## 快速排序介绍 快速排序(Quick Sort)由 C.A.R.Hoare(东尼·霍尔,Charles Antony Richard~Hoare)在 1960 年提出,之后又有许多人做了进一步优化。 如果你对快速排序感兴趣,可以去看看东尼 阅读全文
posted @ 2022-05-22 16:49 FXT1110011010OI 阅读(57) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示