1 条题解
-
0
A. 问题解决 —— 详细题解 题目重述 简有 个问题,难度分别为 ,满足 对所有 (最后一个最难)。 她的能力值为整数 ,能解决难度 的问题,不能解决难度 的问题。 已知她解决了前 个问题,但没有解决最后一个问题 。 问:能否唯一确定 ?若能,输出 ;否则输出 "Ambiguous"。
条件形式化 设 ,即前 个问题的最大难度。
因为她解决了所有前 个问题,所以每一个 ()都满足 。 因此 必须至少是这些难度中的最大值:
因为她没有解决最后一个问题,所以 ,即 .
由于 是整数,综合得
由已知 (最后一个严格大于前面所有),所以 ,区间非空。
唯一性分析 区间 中包含的整数个数为
若 ,则区间内只有一个整数 。此时 唯一确定,答案为 。
若 ,则区间内至少有 和 两个不同的整数,它们都满足条件(因为 当 ),所以 不唯一,输出 "Ambiguous"。
边界情况讨论 :前 个元素的最大值就是 ,最后一个 。 若 ,则 唯一;否则 可以是 中的任意值,不唯一。 例如: → , , 区间 有两个值,输出 Ambiguous。
可能重复:前 个元素允许相等,取最大值即可。最后一个必须严格大于前面所有,所以 至少比 大 。
的范围:题目只要求 是整数,没有其他限制(如不能超过 等),所以区间内所有整数都是合法的。
示例逐步解析 示例1 text ,前4个最大值为 ,。 → 唯一,。输出 。
示例2 text 前7个最大值:遍历 得 ,。 → 不唯一,输出 Ambiguous。 可能的 : 都满足(例如 能解所有前7个(难度≤8≤10),不能解12)。
示例3 text 前3个最大值 ,。 → 唯一,。输出 。
算法步骤(极简) 对每个测试用例:
读入 和数组 。
计算 。
若 ,输出 ;否则输出 "Ambiguous"。
复杂度 时间:,,,轻松。
空间: 额外(可边读边计算最大值)。 必要性:若 是合法能力值,则必满足 (否则存在某个前 个问题难度 导致无法解决)且 (否则最后一个会被解决)。所以 。
充分性:对任意整数 ,因为 ,所有前 个难度 ,故可解;且 ,故最后一个不可解。所以每个这样的 都是合法能力值。
唯一性:区间长度 。若等于 ,仅有一个 ;若大于 ,至少有两个,因此不唯一。
综上,算法正确。
- 1
信息
- ID
- 6639
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者