QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 1024 MB Puntuación total: 100

#4687. 天气预报

Estadísticas

您受雇于气候测量协会,这是一个致力于长期追踪全球天气趋势的科学组织。当然,这并非易事。他们在世界各地部署了许多小型设备,旨在定期测量当地的天气状况。这些设备价格低廉,功能有限。它们每天观测四种标准天气类型中的一种:晴天(Sunny)、多云(Cloudy)、雨天(Rainy)或青蛙(Frogs)。在完成 $n$ 次观测后,结果会被报告给主服务器进行分析。然而,海量的设备导致可用通信带宽过载。协会需要您的帮助,想出一种将这些报告压缩成更少比特的方法。

对于特定设备的位置,您可以假设每天的天气是一个独立的随机事件,并且您已知四种可能天气类型的预测概率。设备生成的每一种 $4^n$ 种可能的天气报告都必须编码为一个唯一的比特序列,且任何序列都不能是其他序列的前缀(这是一个重要的属性,否则服务器将无法知道每个序列何时结束)。目标是使用一种能使传输比特的期望数量最小化的编码方式。

输入格式

输入的第一行包含一个整数 $1 \le n \le 20$,表示每份报告包含的观测次数。第二行包含四个正浮点数 $p_{\text{sunny}}, p_{\text{cloudy}}, p_{\text{rainy}}$ 和 $p_{\text{frogs}}$,分别代表相应天气的概率。这些概率小数点后最多有 6 位数字,且总和为 1。

输出格式

输出报告编码的最小期望比特数,要求绝对误差或相对误差不超过 $10^{-4}$。

样例

输入格式 1

2
0.9 0.049999 0.05 0.000001

输出格式 1

1.457510

输入格式 2

20
0.25 0.25 0.25 0.25

输出格式 2

40.000000

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.