Given a sequence a[1..n], you need to calculate how many integers S satisfy the following conditions:
(1). 0 ≤ S
(2). For every i in [1,n-1] , (a[i] xor S) ≤ (a[i+1] xor S)
Input
On the first line there is only one integer n
On the second line there are n integers a[1..n]
1 ≤ n ≤ 50
0 ≤ a[i]
Output
Output one integer : the answer
Sample Input
3
1 2 3
Sample Output
288230376151711744
题目大意很明确,思路是什么?
看到异或自然想到二进制,
比如:
00011101
00011010
比较大小从高到低进行比较,如果在某一位置开始出现不同,那么自然异或值S这一位就确定了,因为相同的异或结果还是相同,所以只需要确定哪些位置已经被确定了,那么总方案数就是 2^( 未确定位置数量 ).
#include
#include
#include
#include
#include
#include
#include
#include
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net