读完本文,你可以去力扣拿下如下题目: 191.位1的个数 231.2的幂 本文分两部分,第一部分列举几个有趣的位操作,第二部分讲解算法中常用的 n & (n - 1) 操作,顺便把用到这个技巧的算法题列出来讲解一下。因为位操作很简单,所以假设读者已经了解与、或、异或这三种基本操作。 位操作(Bit ...
分类:
其他好文 时间:
2020-11-20 11:27:44
阅读次数:
6
P5110 块速递推 题意 多次询问,求数列 \[ a_i=\begin{cases}233a_{i-1}+666a_{i-2} & i>1\\ 0 & i=0\\ 1 & i=1\\ \end{cases} \] 的第 \(n\) 项在 \(\mod 1e9+7\) 意义下的值的异或和。 思路 首 ...
分类:
其他好文 时间:
2020-11-19 12:17:38
阅读次数:
6
1、判断奇偶数 void odd_even(int n) { if(n & 1 == 1) { printf("n是奇数!\n"); } } 2、交换两个数字 int swap(int x, int y) { x = x ^ y; y = x ^ y; x = x ^ y; } 基于异或运算的如下性 ...
分类:
编程语言 时间:
2020-11-17 12:40:14
阅读次数:
9
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3&x<6。“&”和“&&"的区别:单&时,左边无论真假,右边都进行运算:双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。"I和“I”的区别同理,|表示:当左边为真,右边不参与运算。异或(^)与或(I)的不同
分类:
其他好文 时间:
2020-11-16 13:04:16
阅读次数:
3
题目 题目链接:http://noip.ybtoj.com.cn/problem/20075 思路 先做一遍前缀异或和,然后问题转化为序列中任选两个数异或起来不小于 \(k\)。 从高位到低位建立 Trie 树,分 $01$ 计算答案即可。 时间复杂度 \(O(Tn\log n)\)。 代码 #in ...
分类:
其他好文 时间:
2020-11-13 12:21:17
阅读次数:
6
RAID,它分为软raid和硬raid,raid有以下几种模式,1,镜像模式2,条带模式3,校验模式,其中镜像模式写数据比较慢,条带模式是把数据分散并行的存放于各个磁盘,校验模式主要是将数据进行异或操作,或者使用奇偶校验等来保障数据raid分为0---5现在我们一般使用raid015101raid0:它是一种条带模式,优势为读写数据非常快,一块磁盘就可以实现,缺点为,没有冗余,若一块盘坏掉,数据将
分类:
其他好文 时间:
2020-11-06 00:59:12
阅读次数:
12
知识点:线段树 原题面:Codeforces 题意简述 给定一长度为 \(n\) 的数列 \(a\),给定 \(m\) 次询问。 每次询问给定区间内,出现过偶数次的权值 的异或和。 $1\le n,m\le 106$,$1\le a_i\le 109$。 分析题意 根据异或的自反性,一个区间内所有数 ...
分类:
其他好文 时间:
2020-11-02 10:11:25
阅读次数:
19
间隙 大致题意 给定一棵$n$个点的带权树,求最长的异或路径。 异或路径指的是指两个结点之间唯一路径上的所有边权的异或 $1≤n≤100000$ 分析 01trie模板 设$f_i$表示从根节点到$i$节点的异或路径,有显然的递推公式:\(f_v = f_{fa}⊕edge.w\) 根据异或的性质, ...
分类:
其他好文 时间:
2020-11-01 10:21:19
阅读次数:
16
这是这场比赛第二水的一题,但我并没有切。 题解: 正解其实很简单,很容易可以发现一个性质,讲一个序列排序,xor值最小的值肯定出现在相邻两个数之间, 证明:设a<b<c,那么我们只需要证明min(ab,bc)<ac设到第t位开始第一次出现a,b,c在第t位上的值不同,有两种情况: 1.(0,0,1) ...
分类:
其他好文 时间:
2020-10-31 01:40:27
阅读次数:
17
java数据类型,java数组,java字符串,java循环语句
分类:
编程语言 时间:
2020-10-26 11:03:35
阅读次数:
26