luogu#P10500. Rainbow的信号
Rainbow的信号
题目描述
Freda 发明了传呼机之后,rainbow 进一步改进了传呼机发送信息所使用的信号。
由于现在是数字、信息时代,rainbow 发明的信号用 个自然数表示。
为了避免两个人的对话被大坏蛋 VariantF 偷听,rainbow 把对话分成 三部分,分别用 三个密码加密。
现在 Freda 接到了 rainbow 的信息,她的首要工作就是解密。
Freda 了解到,这三部分的密码计算方式如下:
在 这 个数中,等概率地选取两个数 ,如果 ,则交换 。
把信号中的第 个数到第 个数取出来,构成一个数列 。
部分对话的密码是数列 的 和的数学期望值, 和就是数列 中各个数异或之后得到的数; 和的期望就是对于所有可能选取的 ,所得到的数列的 和的平均数。
部分对话的密码是数列 的 和的期望,定义类似于 和。
部分对话的密码是数列 的 和的期望,定义类似于 和。
请你帮忙计算这三个密码。
输入格式
第一行一个正整数 。
第二行 个自然数,表示 Freda 接到的信号。
输出格式
一行三个实数,分别表示 和、 和、 和的期望,四舍五入保留 位小数,相邻两个实数之间用一个空格隔开。
2
4 5
2.750 4.250 4.750
提示
样例解释
样例 1 共包含四种可能的 :
c | |||
---|---|---|---|
xor 和 | and 和 | or 和 | |
1,1 | 4 | 4 | 4 |
1,2 | 1 | 5 | |
2,1 | |||
2,2 | 5 |
以上每一对 出现的概率均相同, 因此分别对 xor 和、and 和、or 和取平均数就是数学期望值。
数据范围与约定
对于 的数据, 。
对于 的数据, 。
对于另外 的数据, 个数为 或 。
对于 的数据, , 个自然数均不超过 。