原理 依据的是异或门 即同为0,异为1 0^0=0 0^1=1 1^0=1 1^1=0 对一个数据进行两次XOR运算会得到这个数据本身 所以加密时就将message和其对应的key进行一波XOR运算得到了cipherText 将cipherText和key一起传输过去 再用key对cipherTex ...
分类:
编程语言 时间:
2019-11-05 20:03:23
阅读次数:
76
在给定的$N$个整数$A1,A2……AN$中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N。 第二行输入N个整数$A1~AN$。 输出格式 输出一个整数表示答案。 数据范围 $1≤N≤105,$ $0≤Ai3 1 2 3 输出样例 3 算是一个 树的模板题,归 ...
"题目" 题意:n堆扑克牌,每次可以取走一堆中任意张数的扑克牌,问先手胜利第一步有几种可能。 这一题如果除去后面一问就直接问先手赢还是后手赢,这就是一道简单的 $ NIM $ 博弈问题。 定理 $ \ \ \ \ \ \ \ \ \ NIM $ 博弈先手必胜,当且仅当 $ A_1 xor A_2 x ...
分类:
其他好文 时间:
2019-11-03 21:48:02
阅读次数:
68
uoj 91 最大异或和 要求 :维护一个线性基,每次加入一个元素,替换掉最先加入的一个与它 线性相关的 仍然存在的 元素。 考虑现在的线性基中元素为$b_i$,每次加入的元素为$a_i$ $b_1$ $(b_1=a_{k1} xor a_{k2} xor a_{k3}....)$ $b_2$ $( ...
分类:
其他好文 时间:
2019-11-03 20:31:56
阅读次数:
81
前言:虽然已经有很多题解了,但是还是想按自己的理解写一篇。 思路:首先分析题目 一、区间操作 —— 线段树 二、异或操作 —— 线性基 这个两个不难想,关键是下一步的技巧 “或”运算 就是两个数的二进制中,对应位 只要有1,那么就是该位结果就是 1,所以要想k“或”运算后的结果尽量大, 就需要异或出 ...
分类:
其他好文 时间:
2019-11-03 20:02:08
阅读次数:
97
https://loj.ac/problem/10050 题目描述 给出$n$个整数,求选出两个数使它们的异或值最大。 思路 解决异或问题也是字典树的常用作用之一。我们考虑对于一个数$x$,我们如何求出它的异或值最大的另一个数。异或的定义是每一位相同为 ...
分类:
其他好文 时间:
2019-11-03 18:28:55
阅读次数:
71
传送门 考虑简单的容斥 设 $F(n,m)$ 表示 $a \in [1,n] , b \in [1,m]$ 的满足 $a+b=a \text{ xor } b$ 的数对的数量 那么答案即为 $F(r,r)-2F(l-1,r)+F(l-1,l-1)$ 意思就是总方案减去 $a,b$ 至少一个数小于 $ ...
分类:
编程语言 时间:
2019-11-03 14:43:59
阅读次数:
103
First. 陈列一下“异或”的一些性质 异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。 它与布尔运算的区别在于,当运算符两侧均为1时,布尔运算的结果为1,异或运算的结果为0。 性质 1、交换律 2、结合律(即(a^b)^c ...
分类:
其他好文 时间:
2019-11-03 13:00:52
阅读次数:
69
1、逻辑运算符 (1)分类及功能 and(与),or(或),not(非),nand(与非),nor(或非),xor(异或),xnor(同或)。 (2)用法 a.操作数的数据类型必须符合操作符的要求 能进行逻辑运算的数据类型:bit、bit_vector、boolean,std_logic,std_l ...
分类:
其他好文 时间:
2019-11-02 20:12:35
阅读次数:
1642
https://www.cnblogs.com/downrainsun/p/11228690.html 完成套路:往自己这里搬。 性质: 设数集T的值域范围为[1,2^n?1]。 T的线性基是T的一个子集A={a1,a2,a3,...,an}。 A中元素互相xor所形成的异或集合,等价于原数集T的元 ...
分类:
其他好文 时间:
2019-11-02 18:12:22
阅读次数:
59