KingdomAndTrees

作者:陈俊锟 汪乐平

关键词:二分 贪心

题目简述

给出一个长度为 的正整数序列 (从 0 开始编号),要求确定一个最小的 ,使得存在一个正整数序列 ,满足对于 都有 ,且对于 都有

算法一

如果存在 满足限制 ,则其必然满足限制 ,因此答案具有单调性,我们考虑二分答案。

现在假设我们二分出的答案为 ,则我们考虑直接构造一个合法的序列 。那么考虑第 位时,就有两种情况(不妨设 ):

  1. ,那么说明 是合法的,为了后面的贪心,我们应该让 尽量小,因此令

  2. ,那么说明必须将 至少增加到 ,如果 ,则判定失败,否则令

由于每一步都是尽量使得这一位的 最小,因此第二步中的“判定为失败”的步骤是正确的,因此本贪心算法是正确的。

时间复杂度:,其中

results matching ""

    No results matching ""