摘要:
我们这里讨论的是保序的离散化,小的在前面,大的在后面 我们有一个集合a[],这个集合的值域是0 ~ $10^9$,但是这个集合中元素的个数却只有$10^5$个。 当我们需要将这个集合中元素当作下标时,那么我们需要开一个$10^9$数组,这无疑是很浪费空间的。 此时就需要进行映射,将这$10^5$个数 阅读全文
posted @ 2022-06-14 20:47
晓尘
阅读(59)
评论(0)
推荐(0)
摘要:
位运算常用的主要有两方面: n的二进制表示中,第k位是几。 Lowbit操作 二进制第k位 n的二进制表示中,第k位是几。 思路: 先把第k位移动到最后一位,n >> k; 看个位是几,通过n&1就可以了 总结一下,公式就是 n>>k&1 如下面输出的结果就是1010; int n = 10; fo 阅读全文
posted @ 2022-06-14 19:10
晓尘
阅读(62)
评论(0)
推荐(0)
摘要:
用处就是优化 例如一道题朴素做法就是暴力遍历,如下: for(int i = 0; i < n; i++) for(int j = 0; j ⇐ i; j++) 此时时间复杂度是$O(n^2)$的。而通过双指针算法,就可以将其优化为O(n)的。 基本思想如下: for (int i = 0, j = 阅读全文
posted @ 2022-06-14 13:28
晓尘
阅读(60)
评论(0)
推荐(0)

浙公网安备 33010602011771号