1 条题解
-
0
题意翻译
书有若干页,页码从 1 开始。
前 页一定是插图页(没有页码标注)。
剩下的页中,有些是文本页(有页码标注),有些是插图页(无页码标注)。
文本页上标有该页的页码。
所有文本页的页码之和为 。
我们不知道书的总页数 ,也不知道哪些页是文本页,只知道 和 。
问:在所有可能的书中,插图页的最少数量是多少?
已知条件
前 页全是插图页(数量 = )。
文本页的页码总和 = 。
文本页的页码互不相同(因为每页的页码唯一),且页码必须 ,且文本页不能在前 页中(因为前 页是插图页)。
所以文本页的页码选自 ,其中 是书的总页数。
问题转化
设文本页的数量为 ,那么它们的页码是 个不同的整数,每个 ,且和为 。
我们要最小化插图页的数量。
插图页数量 = 前 页的插图页 + 后 页中的插图页 。
所以总插图页数:
目标
最小化 ,等价于在满足条件的情况下,最小化 (因为 固定时, 越小,插图页越少)。
条件分析
已知:
有 个文本页,页码选自 ,且互不相同。
它们的和 = 。
我们要找最小的 ,使得存在这样的 个不同整数(在 到 之间),和为 。
思路
对于给定的 ,最小的可能和是选最小的 个数:。
最大的可能和是选最大的 个数:。
所以必须存在某个 使得:
$$\sum_{i=1}^{t} (k + i) \leq s \leq \sum_{i=1}^t (n-t+i) $$即:
$$tk + \frac{t(t+1)}{2} \leq s \leq t n - \frac{t(t-1)}{2} $$
目标函数
我们想最小化 ,所以对于每个 ,从最小和条件得到 的下界,从最大和条件得到 的下界。
由 得:
因为 是整数,所以:
$$n \geq \left\lceil \frac{s + \frac{t(t-1)}{2}}{t} \right\rceil $$同时 (因为文本页有 页,编号最大为 ,且最小编号为 ,所以 不一定必须,其实编号最大是 ,最小是 ,所以 是必须的,因为文本页不能重叠且必须不同页)。
枚举
我们枚举 从 1 到某个上界,上界是多少?
最小和 必须成立,否则 太大不行。
另外, 不能超过 ,但 我们不知道,所以先不管。
实际上, 的上界可以大致估计:最小和超过 就停止。
算法步骤
初始化答案 。
枚举 直到 :
检查 。
计算 $n_{\min} = \max\left(k+t,\ \lceil (s + t(t-1)/2) / t \rceil\right)$。
检查可行性:最大和 必须成立(由 定义已保证)。
更新 。
输出 。
样例验证
样例:
枚举 :
:最小和 ,$n_{\min} = \max(1+1=2, \lceil (8+0)/1 \rceil=8) = 8$,插图页 。
:最小和 ,,插图页 。
:最小和 ,停止。
最小插图页 = ,输出 3,符合样例。
时间复杂度
的上界大约是 ,因为 时停止。对于 , 左右,可行。
- 1
信息
- ID
- 3903
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者