1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

核心思想:二分答案

这个问题的目标是“最大化”小明(编号为 kkk)的苹果数。这类“求最大值的最小值”或“求最大值”的问题,如果答案具有单调性,通常可以考虑使用二分查找(二分答案)来解决。

  1. 单调性分析: 假设小明最多可以分到 xxx 个苹果。那么,他一定也可以分到 x−1x-1x−1 个苹果(例如,在 xxx 的最优方案里,从他的苹果里拿走一个,所有条件仍然满足,只是总苹果数变少了)。反之,如果我们验证出小明无法分到 xxx 个苹果(即无论怎么分配,总苹果数都会超过 mmm),那么他也一定无法分到 x+1x+1x+1 个苹果。 因此,小明能分到的苹果数 xxx 具有单调性,我们可以二分查找这个 xxx 的最大可能值。

  2. 构建 check 函数:

P3628.第1题-分苹果

    1000ms Tried: 91 Accepted: 24 Difficulty: 5 所属公司 : 阿里
    算法与标签>二分算法

题目内容

有 mmm 个苹果,nnn 个小孩。每个小孩都有一个编号 1−n1-n1−n ,小明的编号是 kkk 。要尽量公平的分苹果,相邻编号的小孩分到的苹果数目差距不能大于 111 。请问如何在满足相邻编号的小孩分到的苹果数目差距不能大于 111 的情况下,小明分配到的苹果数目最多,并且输出这个最大值,每个小朋友至少需分配到一个苹果。

输入描述

第一行三个整数 n,m,k(1≤n≤m≤109,1≤k≤n)n,m,k(1≤n≤m≤10^9,1≤k≤n)n,m,k(1≤n≤m≤109,1≤k≤n) 。

输出描述

输出一行,表示小明分配到苹果个数的最大值。

样例1

输入

4 6 2

输出

2

说明

可以这样分配 111 222 222 111 。

可以小明分配到了 222 个苹果。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 3, 64ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?