首先,我们规定两个相邻二进制数的“差值”为对应位数不同的个数(eg:01与10的差值为2,011与100的差值为3),然后,如果我们再对相邻两个二进制数进行异或运算,它的结果将会是下面这图这样的。然后,如果我们把他们两个的值放入到树状数组中,就会发现它完美的符合树状数组的运算(差值即为树状数组中的A ...
分类:
编程语言 时间:
2020-06-06 09:23:47
阅读次数:
65
题目链接:https://codeforces.com/contest/1362/problem/B 题意 有一个大小及元素值均不超过 $1024$ 的正整数集合,求最小正整数 $k$,使得集合中的每个元素异或 $k$ 后得到的新集合与原集合相等,若这样的 $k$ 不存在输出 $-1$ 。 题解 数 ...
分类:
其他好文 时间:
2020-06-06 01:10:31
阅读次数:
80
首先我们需要了解最基本的逻辑运算,下一几张图是必须要牢牢记住的: 1、基础的逻辑运算 (简单来说:非门就是简单的对输入去反;与门是有0全为0;或门为有1全为1;异或门是两两不同为1) 2、半加法器和全加法器以及简单的4位数的加法逻辑图 Logisim的使用: 首先该软件是用于实现模拟数字电路的工具, ...
分类:
其他好文 时间:
2020-06-06 00:45:34
阅读次数:
74
1.sizeof(char)这个语句的意思是得到char类型的字节数,char*是一个指针类型,占4个字节,所以运行结果应该是4. 2.strlen和sizeof区别。 sizeof是算符,strlen是函数。sizeof可以用类型做参数,strlen只能用char*做参数。 strlen指字符的长度,chara[20]="youarea",strlen(a)=9,s
分类:
其他好文 时间:
2020-06-03 09:19:27
阅读次数:
61
迭代法,通过位运算实现两数求和bitSum(a,b) 二进制计算时,不考虑进位运算结果为 a^b 考虑进位,计算需要进位的大小: 0 & 0 = 不进位 1 & 0 = 不进位 0 & 1 = 不进位 1 & 1 = 进位 所以进位为:(a&b)<<1; 然后将不考虑进位的异或结果与进位量相加,重复 ...
分类:
其他好文 时间:
2020-06-03 00:19:42
阅读次数:
101
在给定的 N 个整数 A1,A2,…,AN 中选出两个进行异或运算,得到的结果最大是多少? Input 第一行一个整数 N。 第二行 N 个整数 Ai。 Output 一个整数表示答案。 Example 样例输入 5 2 9 5 7 0 样例输出 14 Hint 对于 100%100% 的数据,1≤ ...
分类:
其他好文 时间:
2020-06-02 13:26:34
阅读次数:
62
AcWing 143.最大异或对 题目描述 在给定的N个整数A1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N。 第二行输入N个整数A1~AN。 输出格式 输出一个整数表示答案。 数据范围 1≤N≤105, 0≤Ai<231 输入样例: 3 1 ...
题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗? ...
分类:
其他好文 时间:
2020-05-29 17:39:25
阅读次数:
47
位运算就是直接对整数在内存中的二进制位进行操作,往往简单的位操作就能快速实现复杂运算。 n & (n - 1) 操作是计算一个数的二进制中有多少位为1的常用操作,位运算中最常用的三个基本操作为与、或、非、异或。 熟练使用位操作(Bit Manipulation)可以玩出很多奇技淫巧。 ?、?个有趣的 ...
分类:
其他好文 时间:
2020-05-28 21:21:15
阅读次数:
83
变量的主要作用 变量的初始化 变量的命名规范 能够画出变量如何在内存里存储的 能够写出交换变量案例 1.什么是变量: 白话,变量就是一个装东西的盒子。 通俗:变量是用于存放数据的容器,我们通过变量名来获取数据,甚至数据可以修改。 本质:变量是内存中申请的一块用来存放数据的空间。类似酒店的房间,通过房 ...
分类:
编程语言 时间:
2020-05-27 12:34:26
阅读次数:
86