普及模拟赛 R1 B 题解

· · 题解

简单推式子题。也可以找规律。

subtask1

如果 $a=1$ 则答案为 $1$,否则答案就是 $0$。 ### subtask2 $a=b$ 是给式子推错的选手送的分。 ### subtask3 显然要将 E 等尽可能摊到每个人身上各一个最优。 设 E 等比率为 $w$。即: $$ \begin{aligned} a\lceil bw\rceil &\le b\\ \lceil bw\rceil &\le \frac{b}{a}\\ \end{aligned} $$ 这里直接把 $b$ 消掉是错的,如果真的这么干,那就跌到子任务 2 去了。 注意到 $\lceil x\rceil\le y \Leftrightarrow x\le \lfloor y\rfloor$。所以: $$ \begin{aligned} bw&\le \left\lfloor\frac{b}{a}\right\rfloor\\ w&\le \frac{\left\lfloor\frac{b}{a}\right\rfloor}{b} \end{aligned} $$ ```cpp /* name: b * author: 5ab * created at: 22-07-02 21:38 */ #include <iostream> #include <iomanip> using namespace std; typedef long long ll; signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int a, b; cin >> a >> b; cout << fixed << setprecision(10) << double(b / a) / b; return 0; } ```