2892: 连续段的期望
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:0
解决:
题目描述
小N最近学习了位运算,她发现2个数xor之后数的大小可能变大也可能变小,and之后都不会变大,or之后不会变小。于是她想算出以下的期望值:现在有 N个数排成一排,如果她随意选择一对l,r并将下标在l和r中间(包括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%数据数列中只包含0和1
对于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 其他同理