QOJ.ac

QOJ

时间限制: 1.0 s 内存限制: 256 MB 总分: 100 可 Hack ✓

#9307. 时钟大师

统计

随着社会的发展,对高精度时钟的需求不断增长。最近,中国钟表制造公司正在研发一种新型时钟,它可以表示大范围的时间。

这种新型时钟以一种不同寻常的方式显示当前时间。时钟由多个指针组成,每个指针由一个齿轮控制。所有齿轮同步旋转——每个周期转动一个齿。然而,齿轮的齿数可能不同。如果一个齿轮有 $t$ 个齿,那么相应的指针可以指向 $t$ 个不同的方向,分别记为 $0, 1, 2, \dots, t-1$,其中 $0$ 是初始方向。此外,如果时钟配备了 $n$ 个指针,其中第 $i$ 个指针由一个 $t_i$ 齿的齿轮控制,那么在经过 $k$ 个周期后,第 $i$ 个指针将指向 $k \pmod{t_i}$。

$t$ 齿齿轮的价格为 $t$ 元。给定总预算 $b$ 元,你需要设计一种齿轮组合,使得指针方向的有效组合数量最大化,且齿轮的总成本不超过预算。如果一个方向组合 $(d_1, d_2, \dots, d_n)$ 可以表示为 $$(k \pmod{t_1}, k \pmod{t_2}, \dots, k \pmod{t_n})$$ (其中 $k$ 为某个非负整数,$t_i$ 为第 $i$ 个齿轮的齿数),则称该组合是有效的。由于答案可能非常大,请输出答案的自然对数(以 $e = 2.718281828 \dots$ 为底的对数)。

输入格式

输入的第一行是一个整数 $T$ ($1 \le T \le 30\,000$),表示测试用例的数量。每个测试用例由一行整数 $b$ ($1 \le b \le 30\,000$) 组成,表示总预算。

输出格式

对于每个测试用例,在单行中输出最大有效组合数量的自然对数,要求绝对误差或相对误差不超过 $10^{-6}$。

样例

输入 1

3
2
7
10

输出 1

0.693147181
2.484906650
3.401197382

说明

对于第二个样例数据,一个 3 齿齿轮和一个 4 齿齿轮可以产生 12 种不同的方向组合,总成本恰好为 7。因此,你应该输出 $\ln 12$ 的值,约为 2.484906650。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#230EditorialOpen题解jiangly2025-12-13 00:21:36View

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.