06 2022 档案
摘要:我们这里讨论的是保序的离散化,小的在前面,大的在后面 我们有一个集合a[],这个集合的值域是0 ~ ,但是这个集合中元素的个数却只有个。 当我们需要将这个集合中元素当作下标时,那么我们需要开一个数组,这无疑是很浪费空间的。 此时就需要进行映射,将这个数
阅读全文
摘要:位运算常用的主要有两方面: n的二进制表示中,第k位是几。 Lowbit操作 二进制第k位 n的二进制表示中,第k位是几。 思路: 先把第k位移动到最后一位,n >> k; 看个位是几,通过n&1就可以了 总结一下,公式就是 n>>k&1 如下面输出的结果就是1010; int n = 10; fo
阅读全文
摘要:用处就是优化 例如一道题朴素做法就是暴力遍历,如下: for(int i = 0; i < n; i++) for(int j = 0; j ⇐ i; j++) 此时时间复杂度是的。而通过双指针算法,就可以将其优化为O(n)的。 基本思想如下: for (int i = 0, j =
阅读全文
摘要:前缀和 前缀和更像一个公式,理解思想之后直接套公式就可以解题。 一维前缀和 有一个数组 则前缀和数组为. 前缀和的下标建议从1开始。这样就会为0,处理边界会很方便。 例如区间和[1,5]为$S_5-S
阅读全文
阅读目录(Content)
此页目录为空