CF1873B题解
思路
我们可以定义我们将要加一的数字为 ,定义我们改变 前的积是 那么加一之后的答案应为 。化简得 ,其中 是确定的,所以 最小时,原式的值最大。
实现
用一个变量 记录最小值,用 统计 出现的次数(用于特判),
的意义和上文相同。
特判内容:由于 中除数 可能为 ,导致 RE。
理论存在,代码如下
1 |
|
我们可以定义我们将要加一的数字为 ak,定义我们改变 ak 前的积是 ans 那么加一之后的答案应为 ans÷ak×(ak+1)。化简得 ans+akans,其中 ans 是确定的,所以 ak 最小时,原式的值最大。
用一个变量 minn 记录最小值,用 b 统计 0 出现的次数(用于特判),
ans 的意义和上文相同。
特判内容:由于 ans÷ak×(ak+1) 中除数 ak 可能为 0,导致 RE。
理论存在,代码如下
1 | #include<iostream> |