2892: 连续段的期望

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:

题目描述

N最近学习了位运算,她发现2个数xor之后数的大小可能变大也可能变小,and之后都不会变大,or之后不会变小。于是她想算出以下的期望值:现在有 N个数排成一排,如果她随意选择一对l,r并将下标在lr中间(包括l,r)的数(xor,and,or)之后,期望得到的值是多少呢?取出每一对l,r 的概率都是相等的。小G认为这太easy了,容易被你们水过去,因此你需要告诉他所有选择情况下,(xor,and,or)值的和。

 

输入

第一行1个正整数N

第二行N个非负整数代表数列。

 

输出

共两行六个数。

第一行3个数,分别表示xor的期望,and的期望,or的期望,保留3位小数。

第二行3个数,分别表示xor的和,and的和,or的和。

 

样例输入 复制

2
4 5

样例输出 复制

2.750 4.250 4.750
11 17 19

提示

30%数据中1<=N<=1000

对于另外的30%数据数列中只包含01

对于100%的数据1<=N<=100000,数列中的数 <= 10^9

【样例解释】

l, r

xor

and

or

1,1

4

4

4

1,2

1

4

5

2,1

1

4

5

2,2

5

5

5

每一组l,r取的概率都是相同的,xor=(4+1+1+5)/4=2.750 其他同理