09 2022 档案

摘要:区间合并 给我们很多很多区间,这两个区间有交集,我们合并成一个区间 例如 [1,9] 和 [3,13] 可以合并为 [1,13] 原理 按所有区间的左端点排序 扫描整个区间,把所有可能有交点的区间进行合并 每次维护一个区间 [ st , ed ] 假设扫描到了第 i 个区间 [ sti , edi 阅读全文
posted @ 2022-09-30 15:49 ShibuyaKanon 阅读(33) 评论(0) 推荐(0) 编辑
摘要:离散化 原理 假如我们有一对数值 范围是 0 - 10^9^ 但是个数比较少,只有比如 10^5^的数字,我们需要以这些值位下标来做 所以我们需要这个序列映射到 从 0 开始的连续的自然数 比如我们假定有数组:a[] :1,3,100,200,500000 我们将 1 映射到 0,3 映射到 1,1 阅读全文
posted @ 2022-09-29 15:31 ShibuyaKanon 阅读(22) 评论(0) 推荐(0) 编辑
摘要:求 整数 n 二进制表示里,第 k 位数字是几? $$ n = 15 = (1111)_2 $$ 先把第 k 位移到最后一位 n >> k 看个位是几 x&1 总结:n >> k&1 例子 例如输出 10 的二进制表达 #include<iostream> int main() { int n = 阅读全文
posted @ 2022-09-27 15:10 ShibuyaKanon 阅读(19) 评论(0) 推荐(0) 编辑
摘要:双指针算法 原理 指向的是两个序列 指向一个序列,例如快排 双指针的核心作用 就是 可以优化 所有双指针算法都是 O(n) 的 优化的本质是 找到 i 和 j 的规律 for(int i = 0;i <= n;i++) { for(int j = 0;j <= n;j++) { } } //O(n^ 阅读全文
posted @ 2022-09-26 21:03 ShibuyaKanon 阅读(23) 评论(0) 推荐(0) 编辑
摘要:差分 原理 差分是前缀和的逆运算 给定一个 长度为 n 的a 数组,构造一个 b 数组,使得: $$ a_i=b_1+b_2+b_3+...+b_i\ b_1=a_1\ b_2=a_2-a_1\ b_n=a_n-a_{n-1} $$ b就称为 a 的差分,a就称为b的前缀和 模板 给区间[l, r] 阅读全文
posted @ 2022-09-24 18:03 ShibuyaKanon 阅读(44) 评论(0) 推荐(0) 编辑
摘要:前缀和 原理 我们假定有一个长度为 n 的数组 $$ a_1 a_2a_3...a_n $$ 定义前缀和数组为: $$ S_i=a_1+a_2+...+a_n,s_0 = 0 $$ 1.如何求 si for(int i = 1;i <= n;i++) { s[i] = s[i-1]+a[i]; } 阅读全文
posted @ 2022-09-23 16:07 ShibuyaKanon 阅读(11) 评论(0) 推荐(0) 编辑
摘要:高精度加法 大整数如何存储? --每一位存到数组里 例如:123456789 第 0 位存谁? -- 存9 因为 如果 0位存最后一位,需要乘法的时候,在数组末尾添加数字要比数组开端添加数字方便 原理 模拟我们人加减法的过程 例如 123 + 89,我们先算3 + 9 = 11,进位,再算 3+8 阅读全文
posted @ 2022-09-20 16:12 ShibuyaKanon 阅读(19) 评论(0) 推荐(0) 编辑
摘要:整数二分 本质 如果有单调性的话 --> 我可以二分,反之不然 整个区间可以一分为二,我们定义了一个性质,右半边是满足这个性质的,但是左半边不满足 二分可以寻找这个性质的边界 如何二分左半部分的边界点: mid = l + r +1>> 1 if(check(mid)) -> true:答案处于 [ 阅读全文
posted @ 2022-09-18 16:11 ShibuyaKanon 阅读(21) 评论(0) 推荐(0) 编辑
摘要:归并排序 原理实现 基于分治来做 以整个数组的最中心来分为 left 和 right,确定分界点为 mid = (l+r)/2 先递归排序两边 归并 合二为一 归并的实现方法 ​ 设置两个指针,分别指向两个数组的第一个位置,由于我们已经递归排序了两边数组,所以此时两个数组都是有序的,那么不难得出,我 阅读全文
posted @ 2022-09-17 21:56 ShibuyaKanon 阅读(27) 评论(0) 推荐(0) 编辑
摘要:快排 原理 基于分治来做的 确定分界点 x :q[l],q[(l+r)/2],q[r],随机 把整个区间,根据 x ,把整个数据分成两部分。两部分不一定相等,使得左边部分都 <= x,右边部分都 >= x 递归得给左边排序,再递归得给右边排序 区间调整的实现方法 1.暴力解法 a[],b[] 扫描一 阅读全文
posted @ 2022-09-16 16:28 ShibuyaKanon 阅读(24) 评论(0) 推荐(0) 编辑
摘要:OpenCV-Python 计算机操作底层技术 图像数据的操作 分配 释放 复制 转换 图像是视频的输入输出 I/O 文件与摄像头的输入 图像和视频文件的输出 矩阵和向量的操作以及线性代数的算法程序 矩阵积 解方程 特征值 奇异值 各种动态数据结构 列表 队列 集合 树 图 基本的数字图像处理 滤波 阅读全文
posted @ 2022-09-04 16:45 ShibuyaKanon 阅读(337) 评论(0) 推荐(0) 编辑

阅读目录(Content)

此页目录为空

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