11 2021 档案

摘要:离散化: 离散化的本质,是映射,将间隔很大的点,映射到相邻的数组元素中。减少对空间的需求,也减少计算量。 其实映射最大的难点是前后的映射关系,如何能够将不连续的点映射到连续的数组的下标(数组存的是坐标轴上的位置)。此处的解决办法就是开辟额外的数组存放原来的数组下标,或者说下标标志,本文是原来上的数轴 阅读全文
posted @ 2021-11-10 09:04 天勤也 阅读(110) 评论(0) 推荐(0)
摘要:双指针算法:将时间复杂度从n^2降为n。 双指针算法的模板: for (int i = 0, j = 0; i < n; i ++ ) { while (j < i && check(i, j)) j ++ ; // 具体问题的逻辑 } 常见问题分类: (1) 对于一个序列,用两个指针维护一段区间 阅读全文
posted @ 2021-11-03 23:40 天勤也 阅读(37) 评论(0) 推荐(0)
摘要:前缀算法其实算的上是公式,前缀只是为了降低时间复杂度,从n^2降为1. 前缀公式: // 一维前缀和 // S[i] = a[1] + a[2] + ... a[i] // a[l] + ... + a[r] = S[r] - S[l - 1] // 二维前缀和 // S[i, j] = 第i行j列 阅读全文
posted @ 2021-11-03 00:02 天勤也 阅读(296) 评论(0) 推荐(2)