acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • 修理牛棚AC代码

    解题思路 核心是贪心算法,核心逻辑是「用有限的木板数,优先跳过最大的空牛棚间隔,从而最小化总木板长度」,具体步骤: 特殊情况处理:若木板数 M ≥ 牛的数量 C,直接用 C 块木板各盖 1 个有牛的牛棚,总长度就是 C(最优解); 基础长度计算:先将有牛的牛棚位置排序,计算「覆盖所有有牛牛棚的最小连续长度」(最后一个有牛位置 - 第一个有牛位置 + 1); 找空间隔并排序:计算相邻有牛位置之间的空牛棚数(间隔),按从大到小排序; 贪心减间隔:用 M 块木板最多能拆分出 M-1 个间隔跳过,因此累加前 M-1 个最大的间隔,从基础长度中减去这些间隔,得到的就是最小总木板长度。 100%AC代码: 总结 核心策略:优先跳过最大的空牛棚间隔,减少木板需要覆盖的长度; 关键步骤:排序有牛位置→算总连续长度→算并排序空间隔→减最大的 M-1 个间隔。

    userId_undefined
    🎈🎈🎈C++是🎈🎈🎈
    秩序白银时空双修者快乐小狗
    5阅读
    1回复
    1点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页