一看数据范围,n很小m很大,对长的那一维建可持久化线段树,另一维暴力枚举 ...
分类:
其他好文 时间:
2018-11-28 00:25:04
阅读次数:
209
一、题目 1、审题 2、分析 求出一个数组中连续的元素中缺失的那一个。 二、解答 1、思路 方法一、 将数组中的元素与下标进行对应。最终与下标不一致的元素即为缺失德那一个。 方法二、 采用异或 ^ 运算符。将下标与元素值一起做 ^ 操作。出现了两次的元素最终会被消去,只剩下要求的出现一次的元素。 方 ...
分类:
其他好文 时间:
2018-11-22 14:25:23
阅读次数:
188
1 关于参数定义 Parameter:parameter只能定义在端口生命的前面,如 Input[whith:0] a; Parameter whith=4; 这样的参数定义出现在声明的后面会报错 2 关于always块 always块不仅可以描述时序逻辑,也可以描述组合逻辑 如wire a,b; ...
分类:
其他好文 时间:
2018-11-20 21:45:18
阅读次数:
186
与、或、异或运算 1.与运算(&) 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值 ...
分类:
编程语言 时间:
2018-11-17 00:27:13
阅读次数:
154
Feistel轮函数每次Feistel轮函数内部,均经过4种运算,即:1、扩展置换:右侧32位做扩展置换,扩展置换将32位输入扩展成为48位输出,使得扩展后输出数据长度与48位子密钥等长。2、异或运算:右侧32位扩展置换为48位后,与48位子密钥做异或运算。3、S盒置换:将异或运算后的48位结果,分成8个6位的块,每块通过S盒置换产生4位的输出,8个块S盒置换后组成32位的输出。S盒置换的过程为:
分类:
编程语言 时间:
2018-11-09 16:16:59
阅读次数:
188
在很多时候,我们会使用到将两个整型变量值进行互换,比如冒泡排序,通过判断来将数组变量的值逐步交换,那么怎么交换值才能最有效最节省空间呢? 首先,我们会想到的,用一个零时变量来做中间的过度存储空间,这是很容易想到的方法,实现如下: int i = 10; //声明变量 i,并给 i 赋值为10 int ...
分类:
编程语言 时间:
2018-11-07 14:04:07
阅读次数:
315
分析 参考https://cloud.tencent.com/developer/article/1131945 我们想要达到的效果其实是—— a b 初始状态 : 0 0 第一次碰见某个数x: 0 x(把x记录在b中) 第二次碰见某个数x: x 0(把x记录在a中) 第三次碰见某个数x: 0 0( ...
分类:
其他好文 时间:
2018-11-06 23:36:31
阅读次数:
174
1.位异或运算(^) 运算规则是:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。 比如:8^11. 8转为二进制是1000,11转为二进制是1011.从高位开始比较得到的是:0011.然后二进制转为十进制,就是Integer.parseInt("0011",2)=3; 2.位与 ...
分类:
编程语言 时间:
2018-11-05 15:15:04
阅读次数:
134
思路: 把N个前缀异或和插入一棵trie树中,然后对每个前缀异或和x计算能使x ^ y最大的前缀异或和y。利用了异或运算的a ^ b ^ a = b的性质。 参考了https://cloud.tencent.com/developer/article/1343206 实现: ...
分类:
其他好文 时间:
2018-10-28 20:40:20
阅读次数:
160
六个位运算符& | ^ ~ & 按位与运算符把二进制短的按照位置与二进制长的进行与运算即 1&1=1 1&0=0 0&0=0 | 按位并运算符把二进制短的按照位置与二进制长的进行并运算即 1|1=1 1|0=1 0|0=0 ^ 异或运算相同为0,不同为1 1^1=0 0^0=0 1^0=1 ~ 取反 ...
分类:
其他好文 时间:
2018-10-24 22:27:19
阅读次数:
214